import java.util.Random;
public class knife {
static Random randGen = new Random();
public static void main(String[] args) {
int kniferpd = 1;
int knifebullet = 0;
int charstrength = 10;
int charlightcc = 10;
int hit = randGen.nextInt(10) + 1 + charlightcc;
int crit = randGen.nextInt(100) + 1 + charlightcc;
int knifedmg = randGen.nextInt(5) + 6;
if (hit < 10)
System.out.println("You missed!");
else if (hit > 10 && crit > 98);
System.out.println("Critical strike of " + knifedmg * 2 + "dmg.");
else if (hit > 10 && crit < 98);
System.out.println("Strike of " + knifedmg + "dmg.");
{
}
}
}
Lorsque j'ai écrit ce code, je reçois l'erreur ci-dessous, je ne sais pas ce qui ne va pas! Ceci est mon erreur, ils apparaissent sur le "else if" dans le bas.Ma commande "else if" ne fonctionne pas.
Erreur de syntaxe sur jeton "else", alors que prévu
indente votre code, il sera le rendre plus lisible. Et c'est une bonne idée de toujours utiliser des accolades pour les déclarations conditionnelles et les boucles, une question d'assurance de qualité. – Snicolas
Personnellement, j'aime à peu près omettre les accolades dans certains cas, car je pense qu'ils sont tout simplement superflue visuelle fouillis (dans certains cas). Cependant, les [conventions de codage Java] officielles (http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-142311.html#449) exigent que les accolades soient toujours utilisées pour les instructions if. Par conséquent, je tiens toujours mes ifs, même si parfois je me sens un besoin d'omettre les accolades. – Alderath
comme sidenote, int hit = randGen.nextInt (10) + 1 + charlightcc; se traduira toujours par des hits si vous utilisez charlightcc de 10, pas sûr que ce soit le comportement prévu – Peter