Erreur unreachable statement Java's cool
Résolu
Pit
-
Pit -
Pit -
Bonjour, j'ai un problème sur java's cool, j'aimerais faire un menu qui me permet de faire plusieurs choix mais sans rallonger le code, j'ai une erreur lors de la compilation à la ligne 7 ( en fair cette erreur est active pour la ligne 7 11 15 19 car l'erreur vient de la ligne ReturnOk = true; ) j'arrive la plupart du temps a regler l'erreur unreachable statement mais cette fois impossible.
voici mon code (il n'est pas finit il manque d'autres boucles while)
je vous remercie d'avance :
voici mon code (il n'est pas finit il manque d'autres boucles while)
je vous remercie d'avance :
boolean Menu(int X, String Choix) { boolean ReturnOk = false; while (ReturnOk == false) { if (X ==1 && Choix == "Combat") { return true; ReturnOk = true; } if (X ==2 && Choix == "Stats") { return true; ReturnOk = true; } if (X ==3 && Choix == "Auberge") { return true; ReturnOk = true; } if (X ==4 && Choix == "Quitter") { return true; ReturnOk = true; } } return false; } int CalculXp(int X) { int Xp =0; if (X == 0 || X == 1) { Xp = Xp +10; } if (X == 2 || X == 3) { Xp = Xp +15; } if (X == 4) { Xp = Xp +25; } return Xp; } int Combat(int Vj, int Aj, int Ij, String LevelE) { int Vm =0,Am =0,Im =0,AJ =0,AM =0; if (LevelE == "Gobelin" || LevelE == "Squelette") { Vm = 2; Am = 3; Im = 1; } if (LevelE == "Roi Squelette" || LevelE == "Capitaine Gobelin") { Vm = 4; Am =4; Im = 5; } if (LevelE == "Dragon") { Vm = 8; Am = 5; Im = 7; } while (Vj > 0 && Vm > 0) { println(""); AM = random(0, Am); AJ = random(0, Aj); println(""); if (Im >= Ij) { Vj = Vj - AM; println("Tu subit " + AM + " dégats!"); Vm = Vm - AJ; println("Tu inflige au " + LevelE+" " + AJ + " dégats!"); } else { Vm = Vm - AJ; println("Tu inflige au " + LevelE+" " + AJ + " dégats!"); Vj = Vj - AM; println("Tu subit " + AM + " dégats!"); } } return Vj; } void main() { int Vita =10; int Att = 7; //initiative int Ini = 5; int Xp = 0; int LevelUp = 0; int Level =1; String Nom = ""; //Multitache int X; String MenuAide [] = new String [4]; MenuAide [0] = "Combat"; MenuAide [1] = "Stats"; MenuAide [2] = "Auberge"; MenuAide [3] = "Quitter"; String Enemies [] = new String [5]; Enemies [0] = "Gobelin"; Enemies [1] = "Squelette"; Enemies [2] = "Capitaine Gobelin"; Enemies [3] = "Roi Squelette"; Enemies [4] = "Dragon"; boolean Jeux = false; boolean Combat = false; boolean Stats = false; boolean Auberge = false; Nom = readString("Bonjour ! Quel est ton nom?"); println("Tu est tombé sur la tête " + Nom + " on dirais que tu a tout oublié, "); println("quand tu te reveille tu te rend compte que "); println("tu est dans Thanyr la ville au centre du monde !"); Jeux = readBoolean(Nom + " oublie pas ! Tu est un aventurier en quête d'aventure, est tu prêt?"); while (Jeux == true) { println(""); println("1- Combatre"); println("2- Stats"); println("3- Auberge"); println("4- Quitter"); X = readInt("Que veut tu faire? 1)Combatre// 2)Stats// 3)Auberge// 4)Quitter"); Combat = Menu(X, MenuAide[X]); Stats = Menu(X, MenuAide[X]); Auberge = Menu(X, MenuAide[X]); Jeux = Menu(X, MenuAide[X]); while (Combat == true) { X = random(0, 5); println("Tu rencontre un " + Enemies [X]); Vita = Combat(Vita, Att, Ini, Enemies [X]); println(""); println("Tu a " + Vita); Xp = CalculXp(X); Combat = readBoolean("Tu veut continuer? Tu a " + Vita + " de vie et " + Xp + " xp sur " + LevelUp); } } }
A voir également:
- Erreur unreachable statement Java's cool
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
2 réponses
Bonjour,
Quand tu fais
Dans ton cas tu peux supprimer tout tes
Attention : on ne doit pas comparer deux String avec
De plus, si tu ne changes jamais les valeur de X ou Choix dans ta boucle while celle-ci va tourner indéfiniment...
Quand tu fais
return true;le résultat est directement renvoyée et tu quitte la méthode. Les lignes suivantes sont donc ignorées, donc
ReturnOk = true;est une partie du code qui ne sera jamais atteinte, d'où l'erreur "unreachable".
Dans ton cas tu peux supprimer tout tes
ReturnOkils ne servent à rien.
Attention : on ne doit pas comparer deux String avec
==(cela compare les objets pas leurs valeurs) il faut que tu utilises la méthode
equals.
De plus, si tu ne changes jamais les valeur de X ou Choix dans ta boucle while celle-ci va tourner indéfiniment...