gpt4 book ai didi

java - While Loop with hasNextInt() 实际读取?

转载 作者:行者123 更新时间:2023-11-30 10:48:49 26 4
gpt4 key购买 nike

你好,我的问题是这个程序。

int integer = 0;
int evenInts = 0;
Scanner in = new Scanner(System.in);
System.out.print("Enter an integer: ");
integer = in.nextInt();
while(in.hasNextInt()){
System.out.print("Enter an integer: ");
integer = in.nextInt(); }

在询问“输入一个整数:”后,它应该读入一个 int。之后,只要将整数放入输入中,就会重复此过程。实际上它打印出这样的东西:

Enter an integer: 10
10 // so basically the

"Enter an integer: "

这次没有打印消息

Enter an integer: 12

如果我在 while 循环之前离开 integer = in.nextInt(); 代码部分,一切正常。为什么程序会这样?是因为缓冲还是逻辑错误。

谢谢!

最佳答案

那是因为您已经用完了输入流中唯一的整数,并且 hasNextInt() 返回 false,因为输入流中没有下一个整数。

System.out.print("Enter an integer: ");
integer = in.nextInt();// here you have read the int there is no more next int

你可以使用 do while 循环

do{
System.out.print("Enter an integer: ");
integer = in.nextInt();
}while(in.hasNextInt());

关于java - While Loop with hasNextInt() 实际读取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35633931/

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