Dessiner un coeur avec étoiles [Résolu/Fermé]

Signaler
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
-
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
-
Bonjour,
je veux dessiner un coeur avec des étoiles en java et ceux-ci mon programme qui ne marche pas

public class coeur
{
public static void main(String[]args)

{
System.out.println("love");
System.out.println('\t',"*** ***",'\n',"* * *",'\n',"* *",'\n',"* *",'\n','\t',"* *",'\n','\t','\t',"* *",'\n','\t','\t','\t',"* *",'\n','\t','\t','\t','\t');

}

}






2 réponses

Messages postés
4761
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
23 octobre 2020
1 259
Salut,
System.out.println
ne prends qu'un seul argument (de n'importe quel type, mais tu veux un
String
, et les caractères spéciaux
\n
et \t s'intègrent directement à la chaîne):
System.out.println("\t*** ***\n* * *\n* *\n* *\n\t* *\n\t\t* *\n\t\t\t* *\n\t\t\t\t"); 
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
merci,
en fait c'est vrai ,j'ai corrigé ça mais le problème que le coeur n'est pas juste :( ,j'ai eu une forme différente
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
apparemment les tabulation ne marche pas juste car l'affichage me vienne sous forme des étoiles dépendantes son prend compte des tabulation que j'ai mis pour mettre chaque étoiles a ça place .
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
c'est résolu merci :)
Messages postés
16372
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
23 juillet 2021
2 858
La méthode println ne prend qu'un seul argument, pas 25 comme tu l'as fait.
De plus même si elle pouvait prendre un nombre variables d'arguments ils seraient forcément de même type, il n'y aurait pas de mélange char/String comme tu as essayés de le faire.

Tu devrais mettre tous les morceaux les uns à la suite des autres dans un seul String comme ceci :

System.out.println("\t*** ***\n* * *\n* *\n* *\n\t* *\n\t\t* *\n\t\t\t* *\n\t\t\t\t"); 

Cependant ça ne fait pas vraiment ce que tu veux. Il est plus simple de faire un seul println pour chacune des lignes, c'est plus facile à éditer.
Cela évite aussi d'utiliser un \n là où Windows est en droit d'attendre un \r\n.

System.out.println(" .:::.   .:::. ");

System.out.println(":::::::.:::::::");
System.out.println(":::::::::::::::");
System.out.println("':::::::::::::'");
System.out.println(" ':::::::::' ");
System.out.println(" ':::::' ");
System.out.println(" ':' ");
Messages postés
337
Date d'inscription
mercredi 7 août 2013
Statut
Membre
Dernière intervention
8 avril 2016
6
merci bien j'ai corrigé l'erreur et il ça marche :)