Java Scanner Continuous User input?

て烟熏妆下的殇ゞ 提交于 2019-12-03 20:28:08

问题


For java practice, i am trying to create a program that reads integers from the keyboard until a negative one is entered.

and it prints the maximum and minimum of the integer ignoring the negative.

Is there a way to have continuous input in the same program once it runs? I have to keep running the program each time to enter a number.

Any help would be appreciated

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

        }
    }
}

Here is a part of my code - It works, but i think there is an easier way of doing what i want but not sure how!


回答1:


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

    }
}



回答2:


You could do something like:

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

This will make num equal to the next integer, and check if it is greater than 0. If it's negative, it will fall out of the loop.




回答3:


A simple loop can solve your problem.

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

The above loop will run until a negative number is met.

I hope this helps you



来源:https://stackoverflow.com/questions/28201384/java-scanner-continuous-user-input

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!