2014-09-27 110 views
-5

我正在尝试制作一个会产生随机数的游戏,用户将不得不猜测它。为什么我有错误“令牌上的语法错误”else“,删除此令牌”

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

向我们显示您的代码。我们不是通灵! (但是,如果我必须猜测,我会说你在某处有一个不正确的“其他”)。 – jwodder 2014-09-27 02:25:15

+0

你是什么意思?您的问题标题必须是“TITLE”......然后您提供了有关您的问题的更多信息,包括您以前的尝试和部分代码......请编辑您的问题... – Kiyarash 2014-09-27 02:29:24

+0

对不起,我把代码向上。 – cheshyy 2014-09-27 02:32:39

回答

0

在这一行:

if(guess1 < nmbr); { 

;结束if块早,引起以下else到不匹配任何if,导致语法错误。删除;

0

您的if(guess1 < nmbr)语句后有一个杂散分号,请尝试删除它。

对于while(true)语句的无限循环也存在问题,您不需要在最后一个else语句中进行中断,也不完全确定为什么要像这样递增猜测1。

祝你的作业 - 千里之行始于足下。

0

如果guess1 = nmbr后面的last else语句应该有if条件,或者删除倒数第二个else。

另外我注意到,如果guess1太大,无论如何都会增加它 - 导致在无限循环中一遍又一遍地发送相同的消息。

相关问题