我正在尝试制作这个简单的赔率和偶数游戏。该程序可以完美运行,直到“1”。问题是:它不是将“手指”和“计算机”相乘,而是直接给出“计算机”的值,虽然我没有从其余代码中得到任何错误,但我也没有得到任何输出。我将“name”、“oe”和“finger”设为静态以便能够在循环外使用它们。
import java.util.Scanner;
import java.util.Random;
public class OddsAndEvens {
static String name;
static String oe;
static int finger;
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Let’s play a game called “Odds and Evens”");
System.out.println("What is your name?");
String name = input.next();
while (true) {
System.out.println("Hello " + name + " which one do you choose? (O)dds or (E)vens?");
String oe = input.next();
if (oe.equalsIgnoreCase("e")) {
System.out.println(name + " has picked evens! The computer will be odds.");
break;
}
if (oe.equalsIgnoreCase("o")) {
System.out.println(name + " has picked odds! The computer will be evens.");
break;
} else {
System.out.println("You have typed an invalid answer, lets try again");
}
}
while (true) {
System.out.print("How many \"fingers\" do you put out? ");
int finger = input.nextInt();
if (finger >= 0 && finger <= 5) {
break;
} else {
System.out.println("Please write a number between 0 and 5");
}
}
Random rand = new Random();
int computer = rand.nextInt(5) + 0;
System.out.println("Computer plays number " + computer);
System.out.println("----------------------------------------------");
int sum = finger + computer; //1<------------------------------
if (sum % 2 == 0) {
System.out.println(sum + " is even!");
if (oe.equalsIgnoreCase("e") && (sum % 2 == 0)) {
System.out.println(name + " wins!");
} else {
System.out.println("Computer wins!");
}
}
}
}
}
}
扬帆大鱼
相关分类