我正在为一个作业制作一个程序,我必须让用户猜出一个锁的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);
Run Code Online (Sandbox Code Playgroud)
这是我的想法:要求用户输入数字,尝试将字符串转换为整数.我使用try catch,以确保用户确实输入了数字而不是字母.之后,我看看猜测是否等于实数.如果没有,你就会失去生命(生命被宣布为3),然后将looper设置为1,这样你就可以尝试再次猜测你是否有足够的生命.如果正确,则弯针设置为2,并且循环断开,此时用户可以猜出第二个数字.我只希望循环保持活动,只要你有足够的生命,所以我将"while"语句设置为当looper为1时,或当生命不等于0时.但它似乎没有打破循环如果生命下降到0.先谢谢