プログラミングの初心者で、じゃんけんゲームを作成するための簡単なプログラムを書いていますが、引き続きエラーが表示されます。このプログラムを開始/実行している間、変数 Rock Paper と Scissors を認識しないようで、else 条件に直行します。また、後で解析しようとすると
int exit = 4;
while (exit != userchoice){
JOptionPane.showInputDialog("Choose wisely. Enter:\n 1 for Rock \n 2 for Paper "
+ "\n 3 for Scissors \n or 4 to Exit:\n");
プログラムはそこで停止するだけなので、他の方法を見つけるのにまだ苦労しています。また、このプログラムは、私が行っている状態でどのように終了しますか? このループを終了する方法をまだ理解していません。単純な最終ブラケットを使用すると、条件が満たされるとループが終了すると考えていたため、この場合は数字の 4 を入力します。
助けていただければ幸いです。ありがとうございました。
public static void main(String[] args) {
String inString = null;
int compchoice = (int)(Math.random() * 3);
int userchoice = 0;
int Rock = 1, Paper = 2, Scissors = 3;
Scanner input = new Scanner(System.in);
JOptionPane.showMessageDialog(null,
"Welcome to JanKenPo! It is You Vs. The Computer\n");
int exit = 4;
while (exit != userchoice){
JOptionPane.showInputDialog("Choose wisely. Enter:\n 1 for Rock \n 2 for Paper "
+ "\n 3 for Scissors \n or 4 to Exit:\n");
if (userchoice == Rock && compchoice == Paper) {
JOptionPane.showMessageDialog(null, "Paper covers Rock! You win this Round.");
}
else if (userchoice == Rock && compchoice == Scissors){
JOptionPane.showMessageDialog(null, "Rock crushes Scissors! You win this Round.");
}
else if (userchoice == Scissors && compchoice == Paper){
JOptionPane.showMessageDialog(null, "Scissors cuts Paper! You win this round.");
}
else if (userchoice == Paper && compchoice == Rock){
JOptionPane.showMessageDialog(null, "Paper Covers Rock! Computer wins this Round.");
}
else if (userchoice == Paper && compchoice == Scissors){
JOptionPane.showMessageDialog(null, "Scissors cuts Paper! Computer wins this Round.");
}
else if (userchoice == Scissors && compchoice == Rock){
JOptionPane.showMessageDialog(null, "Rock crushes Scissors! Computer wins this Round.");
}
else if (userchoice == compchoice){
JOptionPane.showMessageDialog(null, "It's a Tie! Both you and the computer chose the same object.");
}
else{
exit = Integer.parseInt(inString);
}
}
}
JOptionPane.showMessageDialog(null, "Good Bye!");
}