Java扫描器连续用户输入?
对于java实践,我尝试创建一个程序,从键盘读取整数,直到输入负整数 它会打印整数的最大值和最小值,忽略负数 有没有一种方法可以在同一个程序运行后继续输入?每次输入一个数字,我都要继续运行程序 任何帮助都将不胜感激Java扫描器连续用户输入?,java,integer,java.util.scanner,Java,Integer,Java.util.scanner,对于java实践,我尝试创建一个程序,从键盘读取整数,直到输入负整数 它会打印整数的最大值和最小值,忽略负数 有没有一种方法可以在同一个程序运行后继续输入?每次输入一个数字,我都要继续运行程序 任何帮助都将不胜感激 public class CS { public static void main(String []args) { Scanner keys = new Scanner(System.in); System.out.println("Ent
public class CS {
public static void main(String []args) {
Scanner keys = new Scanner(System.in);
System.out.println("Enter a number: ");
int n = keys.nextInt();
while(true)
{
if(n>0)
{
System.out.println("Enter again: ");
n = keys.nextInt();
}
else
{
System.out.println("Number is negative! System Shutdown!");
System.exit(1);
}
}
}
}
这是我代码的一部分-它可以工作,但我认为有一种更简单的方法来做我想做的事情,但不知道如何做 您可以执行以下操作:
Scanner input = new Scanner(System.in);
int num;
while((num = input.nextInt()) >= 0) {
//do something
}
这将使num等于下一个整数,并检查它是否大于0。如果是负数,它将脱离循环。一个简单的循环可以解决您的问题
Scanner s = new Scanner(System.in);
int num = 1;
while(num>0)
{
num = s.nextInt();
//Do whatever you want with the number
}
上述循环将一直运行,直到满足负数
我希望这对您有所帮助谢谢!您能解释一下为什么关闭while循环,而不添加if语句之类的内容吗?例如,在关闭循环后,直接转到{…}
,而
隐式检查是否满足输入大于零的条件。当用户输入一个负数
或一个小于零的数
时,控件跳出,同时块跳转到执行负数的后续块
因此,我们不需要使用if语句进行显式检查<代码>如果语句
通常在与
for循环时使用
import java.util.Scanner;
public class ABC {
public static void main(String []args) {
int num;
Scanner scanner = new Scanner(System.in);
System.out.println("Feed me with numbers!");
while((num = scanner.nextInt()) > 0) {
System.out.println("Keep Going!");
}
{
System.out.println("Number is negative! System Shutdown!");
System.exit(1);
}
}
}