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
- Iptv erreur de lecture - Forum TV & Vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
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...