gpt4 book ai didi

java - 为什么/如何将整数设置为 -1 使我的 while 循环工作?

转载 作者:行者123 更新时间:2023-11-30 08:18:40 24 4
gpt4 key购买 nike

这是我的代码。这很简单,我只是要求用户猜测,并告诉他们他们是正确的,数字高还是低。为了不断地询问,我做了一个 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");
}
}

最佳答案

Java 是一种强类型语言,因此需要先定义变量才能使用。

您必须先定义guess,然后才能使用它。只要 guess 最初定义为非数字的任何值,循环就会工作。

您可以像这样定义guess 以确保它是不同的。你永远不想这样做。我只是想表明几乎任何初始值都可以用来初始化 guess

int guess = number - 1;

您也可以使用 do..while 循环来不对其进行初始分配。这将是执行此操作的首选方式,因为您没有做出任何假设。

int guess;
do {
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(guess != number);

这个循环运行一次并直接从用户输入分配 guess 而不是必须在你自己之前分配它。

关于java - 为什么/如何将整数设置为 -1 使我的 while 循环工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27345550/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com