为什么我在令牌上出现错误"语法错误"否则",删除此令牌"

时间:2014-09-27 02:23:37

标签: java syntax

我正在尝试制作一个会生成随机数的游戏,用户必须猜测它。

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();
    }
}

3 个答案:

答案 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太大,你无论如何都要递增它 - 在无限循环中一遍又一遍地产生相同的消息。