Java程序问题

时间:2011-03-25 02:48:19

标签: java programming-languages

import java.util.*;


public class Guess
{
    public static void main (String[] args)
    {

        final int MAX=10;
        int answer, guess;

        Scanner scan = new Scanner(System.in);
        Random generator = new Random();

        answer = generator.nextInt(MAX)+1;

        System.out.print ("I'm thinking of a number between 1 and " + MAX + ".Guess what it is: ");

        guess=scan.nextInt();

        if (guess==answer);

            System.out.println (" You got it!");
        else
        { 
            System.out.println("That is not correct");
            System.out.println("The correct answer is"+ answer);
        }
    }
}

当我尝试编译这个时,我得到一个没有错误的其他,我不明白为什么因为我只有一个if条件而其他就在if之后。请帮助,也可以有人解释这一行answer = generator.nextInt(MAX)+1;为什么书中的作者添加了1?

7 个答案:

答案 0 :(得分:4)

你有错误。

if (guess == answer);
    System.out.println(" You got it!");
else {
    System.out.println("That is not correct");
    System.out.println("The correct answer is" + answer);
}

应该是

if (guess == answer) {
    System.out.println(" You got it!");
} else {
    System.out.println("That is not correct");
    System.out.println("The correct answer is" + answer);
}

作者添加了1以确保该值至少为1. nextInt(MAX)将0返回到MAX-1。

答案 1 :(得分:2)

这条线是罪魁祸首:

if (guess==answer);

删除分号;它终止了整个if语句。

答案 2 :(得分:2)

if (guess==answer); // looks like you threw an extra semicolon in here
        System.out.println (" You got it!");

只需删除分号就可以了。

  

请帮助,也可以   解释这一行答案=   generator.nextInt(MAX)+1;为什么呢   这本书的作者添加了1?

generator.nextInt(MAX)会生成一个介于0和MAX之间的随机数,作者希望它至少为1,所以他加了1。

答案 3 :(得分:1)

你这里有一个不必要的分号

if (guess==answer);

答案 4 :(得分:1)

你的if语句需要括号,而不是分号。

答案 5 :(得分:1)

if语句应如下所示:

    if (guess==answer) {
        System.out.println (" You got it!");
    } else
    { 
        System.out.println("That is not correct");
        System.out.println("The correct answer is"+ answer);
    }

随机值递增,因为随机生成器创建0到MAX-1之间的随机数。

答案 6 :(得分:0)

  1. if后取下玷污 条件。你不一定要有花括号,因为它只是条件之后的一个语句。如果你有多个,那么你必须在你的其他条件中包含大括号的大括号。

  2. 查找中的Random类 Javadoc中。