这是我的代码。这很简单,我只是要求用户猜测,并告诉他们他们是正确的,高或低的数字。要不断问,我做了一段时间循环。为什么/如何设置整数为-1使我的while循环工作?
虽然,我不确定它为什么或如何工作的方式。我将int初始化为-1作为猜测,并且它似乎工作。为什么不根本初始化这个工作,为什么一开始就是一个负数。这样做似乎有点不合适。我猜这是不常见的做法?
再次感谢! :)
import java.util.Scanner;
public class numGuess
{
public static void main(String[] args)
{
//generate random number between 1 and 100
int number = (int)(Math.random() * 101);
Scanner input = new Scanner(System.in);
System.out.println("Guess a number between 1 and 100");
int guess = -1;
while (guess != number)
{
System.out.print("\nEnter your guess: ");
guess = input.nextInt();
if (guess == number)
System.out.println("you are correct, the number is " + number);
else if (guess > number)
System.out.println("your guess is too high");
else
System.out.println("your guess is too low");
}
}
}
因为您将变量猜测与while循环中的数字进行比较,所以编译器强制您为该变量设置默认值。 – MinusInfinity 2014-12-07 17:36:56
由于这个问题已经得到解答,我想指出的是,类名应该以大写字母开头,而不是像字段和方法这样的camelCase。因此'numGuess'应该是'NumGuess'。 – Juxhin 2014-12-07 17:37:43
你能告诉我你想如何比较'number'的值和* nothing *吗?编译器也是如此,因此他需要'guess'中的值。 – Tom 2014-12-07 17:38:24