我试图找出为什么我的 main 方法中的 while 循环被忽略,即使我没有输入“退出”。该程序应该接受用户的输入(转换为 int),让计算机生成一个随机 int(石头、布或剪刀),比较两个 int,打印出答案,然后重复一遍,直到“退出” " 或输入任何其他无法识别的输入(不是石头、剪刀、布)。
例如:UserInput = rock; 输出:再见!!!(虽然循环被跳过,但直接进入 if 循环,即使“userInput”(转换为 int 1)不等于“quit”(转换为 int 0)。尝试修复它,以便 if UserInput = "rock"(转换为1),计算机随机生成“纸”(转换为2),输出将是“纸”获胜。
我几个小时以来一直在努力解决这个问题,因此非常感谢您的帮助,谢谢。
package rockPaperScissors;
import java.util.*
public class RockPaperScissors {
public static final int quit = 0;
public static final int rock = 1;
public static final int paper = 2;
public static final int scissors = 3;
static Scanner console = new Scanner(System.in);
public static void main(String [] args) {
//gets userHand from user as int
int userHand = promptUserForHand();
while(userHand != quit) {
//gets computerHand from the computer(random) as int
int computerHand = generateRandomHand();
//compares userHand to computerHand, determines the winner
String winner = determineWinner(userHand, computerHand);
//prints out the winner
System.out.println("The winner is the: " + winner);
//starts the next round
userHand = promptUserForHand();
}
//if userHand equals quit, stop program and say goodbye
if(userHand == quit) {
System.out.println("Goodbye!!!");
console.close();
}
}
慕容708150
相关分类