Java Scanner连续用户输入?

时间:2015-01-28 20:05:53

标签: java integer java.util.scanner

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

        }
    }
}

这是我的代码的一部分 - 它有效,但我认为有一种更简单的方式来做我想要的但不确定如何!

3 个答案:

答案 0 :(得分:3)

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

    }
}

答案 1 :(得分:2)

您可以执行以下操作:

Scanner input = new Scanner(System.in);
int num;
while((num = input.nextInt()) >= 0) {
    //do something
}

这将使num等于下一个整数,并检查它是否大于0.如果它是负数,它将脱离循环。

答案 2 :(得分:2)

一个简单的循环可以解决您的问题。

    Scanner s = new Scanner(System.in);
    int num = 1;
    while(num>0)
    {
        num = s.nextInt();
        //Do whatever you want with the number
    }

上述循环将一直运行,直到满足负数。

我希望这有助于你