Probleme de méthode pour faire une comparaison
Ananaseu
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je travail sur une bataille naval sur java's cool, un logiciel qui "simplifie" java.
Je souhaite comparer un char avec une valeur qui serait rentrée dans readCharacter("")
Mais je ne trouve pas la bonne méthode.
Si vous avez des idées je suis toute ouï .
voilà un bout de mon code:
Je travail sur une bataille naval sur java's cool, un logiciel qui "simplifie" java.
Je souhaite comparer un char avec une valeur qui serait rentrée dans readCharacter("")
Mais je ne trouve pas la bonne méthode.
Si vous avez des idées je suis toute ouï .
voilà un bout de mon code:
void SelectionCase(int x, int y){ char lettre = readCharacter("Choisis une lettre entre a et b"); lettre = Character.toLowerCase(lettre); while(lettre != 'a' && lettre != 'b'){ lettre = readCharacter("Choisis une lettre entre a et b"); lettre = Character.toLowerCase(lettre); } if(lettre.equals("a")){x=1;} // le problème est ici if(lettre.equals("b")){x=2;} // et là }
Erreur de syntaxe ligne 19 : error: char cannot be dereferenced if(lettre.equals("a")){x=1;}
A voir également:
- Probleme de méthode pour faire une comparaison
- Comparaison million milliard - Accueil - Technologies
- Logiciel comparaison photo gratuit - Télécharger - Photo & Graphisme
- Comparaison samsung a15 et a16 - Accueil - Téléphones
- Comparaison prix amazon - Accueil - Commerce
- Prix Amazon : comment suivre les évolutions de tarifs - Guide
1 réponse
Bonjour,
Il faudrait donc plutôt utiliser l'opérateur
Attention : "a" et "b" ne sont pas des char mais des String, dans tous les cas une comparaison de types hétérogènes renverra false. Il faudrait donc comparer des char avec des char pour que ça fonctionne.
Remarque : c'est une mauvaise idée de modifier les paramètres x et y, ça ne fera de toute façon pas ce que tu penses...
La confiance n'exclut pas le contrôle
charest un type primitif, il ne possède aucune méthode, donc il est impossible de lui appliquer la méthode
equals.
Il faudrait donc plutôt utiliser l'opérateur
==pour comparer deux char.
Attention : "a" et "b" ne sont pas des char mais des String, dans tous les cas une comparaison de types hétérogènes renverra false. Il faudrait donc comparer des char avec des char pour que ça fonctionne.
if (lettre=='a') x=1; if (lettre=='b') x=2;
Remarque : c'est une mauvaise idée de modifier les paramètres x et y, ça ne fera de toute façon pas ce que tu penses...
La confiance n'exclut pas le contrôle