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

对于java实践,我尝试创建一个程序,从键盘读取整数,直到输入负整数

它会打印整数的最大值和最小值,忽略负数

有没有一种方法可以在同一个程序运行后继续输入?每次输入一个数字,我都要继续运行程序

任何帮助都将不胜感激

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);
        }

    }
}