Bataille navale: je dis A1, trace un carré en A1, je dis A2...
Résolu
Ananaseu
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Ananaseu Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Ananaseu Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Bonjour!
J'ai une bataille naval à faire pour la fin de l'année en java's cool (java en plus "simple"), mais je bloque sur une partie de mon programme.
J'aimerais qu'en fonction de ce que l'on rentre dans une fenêtre par exemple: A1 ,que cela trace un carré dans la case de coordonnée qui lui correspondent dans ce cas si (0,0) ...
mon code ressemble à ceci pour cette partie du programme:
void actionsCases(){
ça fonctionne, enfin en quelque sorte... car quelque soit ce que je rentre dans la fenêtre cela me trace un carré en (0,0) même si c'est "fjeghjish" que j'ai rentré...
Bien sûre j'ai fais le code pour A2 A3 A4...J10. Mais cela me fait dans tous les cas des carrés partout sans respecter :
message.compareToIgnoreCase("");
j'ai essayé de le faire avec des if mais sans succès:
Mon code:
Le message de la console:
puis j'ai essayé de convertir les chaînes en int... Là je ne savais pas trop comment procéder... je pense avoir fait n'importe quoi
Et ça ne donne rien de concluant, ça m'ouvre une fenêtre pour chaque case et cela trace un carré pour chaque case... Je suis un peu perdue, je n'ai plus d'idée ...
Avez vous une solution à me proposer?
J'ai une bataille naval à faire pour la fin de l'année en java's cool (java en plus "simple"), mais je bloque sur une partie de mon programme.
J'aimerais qu'en fonction de ce que l'on rentre dans une fenêtre par exemple: A1 ,que cela trace un carré dans la case de coordonnée qui lui correspondent dans ce cas si (0,0) ...
mon code ressemble à ceci pour cette partie du programme:
void actionsCases(){
String message = readString(); message.compareToIgnoreCase("A1"); dessincarre(0,0); // dessincarre est une fonction que j'ai créé qui trace un carré en fonction de x et de y // }
ça fonctionne, enfin en quelque sorte... car quelque soit ce que je rentre dans la fenêtre cela me trace un carré en (0,0) même si c'est "fjeghjish" que j'ai rentré...
Bien sûre j'ai fais le code pour A2 A3 A4...J10. Mais cela me fait dans tous les cas des carrés partout sans respecter :
message.compareToIgnoreCase("");
j'ai essayé de le faire avec des if mais sans succès:
Mon code:
void actionsCases(){ String message = readString(); if(message.compareToIgnoreCase("A1")){ dessincarre(0,0); } if(message.compareToIgnoreCase("A2")){ dessincarre(0,1); } ...}
Le message de la console:
Erreur de syntaxe ligne 110 : error: incompatible types: int cannot be converted to boolean if(message.compareToIgnoreCase("A1")){ ^
puis j'ai essayé de convertir les chaînes en int... Là je ne savais pas trop comment procéder... je pense avoir fait n'importe quoi
void carree (){ String message = readString(); message.compareToIgnoreCase("A1"); String A1 = "1"; int i; i = Integer.parseInt(A1); dessincarre(0,0); String A2 = readString(); A2.compareToIgnoreCase("A2"); A2 = "2"; i = Integer.parseInt(A2); dessincarre(0,1); }
Et ça ne donne rien de concluant, ça m'ouvre une fenêtre pour chaque case et cela trace un carré pour chaque case... Je suis un peu perdue, je n'ai plus d'idée ...
Avez vous une solution à me proposer?
A voir également:
- Bataille navale: je dis A1, trace un carré en A1, je dis A2...
- Notice bataille navale électronique ref 4287 - Télécharger - Divers Web & Internet
- Bataille navale eztec notice ✓ - Forum Loisirs / Divertissements
- Notice bataille navale électronique zig zag ✓ - Forum Réseau
- Bataille navale vtech notice - Forum Windows
- Nimitz bataille navale notice - Forum Loisirs / Divertissements
1 réponse
Bonjour,
Il faut regarder la documentation :
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#compareToIgnoreCase(java.lang.String)
La méthode compareToIgnoreCase renvoie un int comme résultat.
C'est pour ça que tu ne peux pas faire
Si tu veux comparer l'égalité il faut faire
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#equalsIgnoreCase(java.lang.String)
Il faut regarder la documentation :
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#compareToIgnoreCase(java.lang.String)
La méthode compareToIgnoreCase renvoie un int comme résultat.
C'est pour ça que tu ne peux pas faire
if(message.compareToIgnoreCase("A1"))car dans un if il faut mettre un booléen alors que tu lui donnes un int.
Si tu veux comparer l'égalité il faut faire
if(message.compareToIgnoreCase("A1")==0), mais dans ce cas il aurait mieux valu utiliser un
if(message.equalsIgnoreCase("A1"))...
https://docs.oracle.com/javase/7/docs/api/java/lang/String.html#equalsIgnoreCase(java.lang.String)
et ça fonctionne parfaitement.