如果没有从用户(空行)读取任何输入,我想退出程序

时间:2019-10-15 05:41:40

标签: java input java.util.scanner

我正在编写一个程序,该程序存储用户输入的数字,但是如果输入空格则退出。

我尝试将其设置为char数组并检查其长度。如果长度大于0,则表示存在并输入,因此它将存储输入。如果长度为0,则表示没有输入,因此退出循环。

do 
        {
            System.out.print("Enter an integer ('blank' to exit): ");
            String sInput=reader.next();
            char[] cArrInput=sInput.toCharArray();
            int iInput=cArrInput[0];
            if (cArrInput.length>0)
            {
                numbers[count]=iInput;  
                count=count+1;
            }
            else if (sInput.length()==0)
            {
                break;
            }
        }while(count<100);

我希望在没有用户输入的情况下它会中断,但空白行只是可视的,并且代码仍会存储下一个输入的数字。

2 个答案:

答案 0 :(得分:0)

我建议改用@form(routes.LoginController.loginAuthenticate, 'onSubmit' => 'validate()') { ,然后按nextLine

这是简化版

<enter>

答案 1 :(得分:0)

问题::您正在使用Scanner类的 next()方法,该方法等待用户下一次输入。

解决方案:

使用 nextLine()方法。

使用以下内容:

        Scanner reader = new Scanner(System.in);
        int numbers[] = new int[100];
        int count=0;
        do
        {
            System.out.print("Enter an integer ('blank' to exit): ");
            String sInput=reader.nextLine();
            char[] cArrInput=sInput.toCharArray();
            if (cArrInput.length>0)
            {
                numbers[count]=cArrInput[0];
                count=count+1;
            }
            else if (sInput.length()==0)
            {
                break;
            }
        }while(count<100);