石头剪刀Java方法
我一直在尝试一个石头剪刀布Java代码 尽管如此,我还是被阻止了,我不明白为什么我的方法中有这么多错误,为什么我的每个int k都是错误的石头剪刀Java方法,java,expression,Java,Expression,我一直在尝试一个石头剪刀布Java代码 尽管如此,我还是被阻止了,我不明白为什么我的方法中有这么多错误,为什么我的每个int k都是错误的 import java.util.Scanner; import java.util.Random; public class chifoumi { public static void main(String[] args) { System.out.println("Bienvenu à CHIFOUMI...");
import java.util.Scanner;
import java.util.Random;
public class chifoumi {
public static void main(String[] args) {
System.out.println("Bienvenu à CHIFOUMI...");
Scanner sc = new Scanner(System.in);
System.out.println("Pierre, feuille, ciseaux?");
System.out.println("Tape 0, 1 où 2"); // 0 : Pierre
int joueur = sc.nextInt(); // 1 : Feuille
// 2 : Ciseaux
int V = jeu(joueur);
if (V == 1)
System.out.println("Vous avez gagné !");
else if (V == 0)
System.out.println("Vous avez perdu... ");
else if (V == 2)
System.out.println("Egalité ! Recommencez ;)");
}
public static int jeu(int x){
Random random = new Random();
int ordi;
ordi = random.nextInt(3);
if (x == 0 || ordi == 1)
int k = 0;
return k;
if (x == 0 || ordi == 2)
int k = 1;
return k;
if (x == 1 || ordi == 0)
int k = 1;
return k;
if (x == 1 || ordi == 2)
int k = 0;
return k;
if (x == 2 || ordi == 0)
int k = 0;
return k;
if (x == 2 || ordi == 1)
int k = 1;
return k;
if (ordi == x)
int k =2;
return k;
}
}
显然,在我的方法中,我所有的int k=。。。你错了。。。无法找出原因。您的表单方法
if (x == 0 || ordi == 1)
int k = 0;
return k;
都是真的吗
因为java不是基于缩进的。因此,您总是在第一个语句之后返回。这意味着后面的语句无法访问,这就是编译器抱怨的原因。你应该写的是
if (x == 0 || ordi == 1) {
int k = 0;
return k;
}
或者更简单的是,去掉k,然后写
if (x == 0 || ordi == 1) {
return 0;
}
在这种情况下,实际上可以再次省略大括号,因为只有一条语句有条件地在if上执行:
注意,在jeu方法的末尾,您需要一个额外的返回值;或者抛出一些东西,因为编译器无法确保所有的ifs都是详尽的,并且您总是会发现其中的一个ifs
您应该使用一个IDE,它可以为您进行一些自动格式化/缩进,从而使这些基本类型的错误更容易发现。错误是什么?非常感谢,您真的在那里调试了我!!我现在一定要检查我的缩进:@hugoch不客气,如果问题解决了,请点击左上角的复选标记接受答案。
if (x == 0 || ordi == 1) {
return 0;
}
if (x == 0 || ordi == 1)
return 0;