私は、ロックを解除するためにユーザーにロックの 3 つの数字を推測させる必要がある割り当てのプログラムを作成しています。彼らが 3 推測以内にそれを行うことができない場合、ゲーム オーバーです。十分に単純で、私が知る限り、私はそれを正しく行っているので、どこが間違っているのかわかりません. コードのセクションは次のとおりです。
do{
try{
String g1Str = JOptionPane.showInputDialog("Enter number 1:");
g1 = Integer.parseInt(g1Str);
looper = 2;
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null,"Not a Number");
looper = 1;
}
if(g1!=num1){
JOptionPane.showMessageDialog(null, "Incorrect guess, try again");
lives = lives - 1;
looper = 1;
}
else if(g1==num1){
JOptionPane.showMessageDialog(null, "Correct!");
looper = 2;
}
}while(looper==1||lives!=0);
ここに私の考えがあります: ユーザーに数値を入力するように依頼し、文字列を整数に変換しようとします。ユーザーが実際に文字ではなく数字を入力したことを確認するために、try catch を使用します。その後、推測が実数と等しいかどうかを確認します。そうでない場合は、ライフを失い (以前はライフが 3 と宣言されていました)、ルーパーを 1 に設定して、十分なライフがあるかどうかを再試行して推測できるようにします。正しい場合、ルーパーは 2 に設定され、ループが中断され、その時点でユーザーは 2 番目の数字を推測できます。十分なライフがある限りループをアクティブのままにしたいので、"while" ステートメントをルーパーが 1 の場合、またはライフが 0 でない場合に設定します。命は0になります。よろしくお願いします