我正在尝试制作一个会生成随机数的游戏,用户必须猜测它。
package numberguess;
import java.util.Random;
import javax.swing.JOptionPane;
public class NumberGuess {
public void program() {
int guess1,nmbr;
Random rand = new Random();
nmbr = rand.nextInt(100);
while(true){
guess1 = Integer.valueOf(JOptionPane.showInputDialog("enter a # 1-100"));
}
if(guess1 < nmbr); {
JOptionPane.showMessageDialog(null, "numerber is too small");
guess1++;
}
else if (guess1 > nmbr) {
JOptionPane.showMessageDialog(null, "number is too big");
guess1++;
}
else{
JOptionPane.showMessageDialog(null, "Congratulations you guessed correctly:" + nmbr);
guess1++;
break;
}
}
public static void main(String[] args){
NumberGuess prog = new NumberGuess();
prog.program();
}
}
答案 0 :(得分:0)
在这一行:
if(guess1 < nmbr); {
;
提前结束if
阻止,导致以下else
与任何if
不匹配,从而导致语法错误。删除;
。
答案 1 :(得分:0)
你的if(guess1&lt; nmbr)语句后面有一个分散的分号,请尝试删除它。
使用while(true)语句的无限循环也存在问题,你不需要在最后一个else语句中使用break,并且不完全确定为什么你要增加guess1那样的。
祝你的家庭作业好运 - 千里之行始于一步。
答案 2 :(得分:0)
你的最后一个else语句应该有一个if条件,如果guess1 = nmbr,或者删除第二个'else'。
另外我注意到如果guess1太大,你无论如何都要递增它 - 在无限循环中一遍又一遍地产生相同的消息。