gpt4 book ai didi

java - 如果我使用数字作为循环停止符,如何确保我的程序不会将该数字初始化为最大值或最小值?

转载 作者:行者123 更新时间:2023-12-01 09:07:25 25 4
gpt4 key购买 nike

这是我的程序应该执行的操作:这是一个带有循环的程序,允许用户输入一系列整数。用户应输入 -99 来表示该系列结束。输入所有数字后,程序应显示输入的最大和最小数字。

我的代码正在工作,但在它停止之前,它会将最大值或最小值初始化为 -99,而不是系列中的最后一个预期整数,然后结束。我该怎么做才能阻止这种情况?

代码如下:

public static void main(String[] args)
{
//Create a Scanner object for keyboard input.
Scanner keyboard = new Scanner(System.in);

//create variables
int maxInt = -1000; //number that will be the largest initialized very low
int minInt = 1000; //number that will be the smallest initialized very high
int input = 0; //to hold the user's integer entry

//loop for the user to enter as many integers as they want
while(input != -99)
{
//General Instructions and initialization of input
System.out.println("Enter an integer. "
+ "When you are finished, please enter -99.");
input = keyboard.nextInt();

if(input > maxInt)
{
maxInt = input;
}
else if(input < minInt)
{
minInt = input;
}
}

System.out.println("Your lowest number is: " + minInt);
System.out.println("Your highest number is: " + maxInt);

keyboard.close();
}

最佳答案

您的输入在 while 循环内分配,因此循环开始时尚未 -99。因此以 -99 运行循环,然后在最后停止。

while (input != -99) {
System.out.println("Enter an integer. " + "When you are finished, please enter -99.");
input = keyboard.nextInt());

if (input == -99) {
break;
}
if (input > maxInt) {
maxInt = input;
} else if (input < minInt) {
minInt = input;
}
}

现在,当由于break语句输入-99时,循环结束。

关于java - 如果我使用数字作为循环停止符,如何确保我的程序不会将该数字初始化为最大值或最小值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41153300/

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