Java:while循环,用于不执行用户输入

时间:2014-06-09 21:36:20

标签: java loops java.util.scanner

编辑:问题原因是我在程序的前一部分关闭了System.in,从而使其在以后无法使用。

我正在尝试为用户输入创建一个循环,但它不起作用......

这就是我所拥有的:

    Scanner userkey = new Scanner(System.in);

    System.out.println("Enter commands");
    while(userkey.hasNext()){

        if (userkey.next().equals("exit")){
            System.out.println("EXIT!!!!");
            break;
        }
        System.out.println("In while loop test");
    }

我想userkey.hasNext()因某种原因返回false ...

2 个答案:

答案 0 :(得分:0)

试试这个:

import java.util.Scanner;

public class Snippet {
    public static void main(String[ ] args)  
    { 

         Scanner scanner = new Scanner(System.in);
            String readString = scanner.nextLine();
            while(readString!=null)
            {
                System.out.println(readString);
                if(readString.equals(""))
                    System.out.println("Read Enter Key.");
                if(scanner.hasNextLine())
                    readString = scanner.nextLine();
                else
                    readString = null;

                if(readString.equals("exit")){
                    System.out.println("EXIT");
                    break;
                }
            }

    }

}

即使您的代码应该可以运行,但这是一个更详细的版本。

答案 1 :(得分:0)

试试这段代码:

import java.util.Scanner;
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner userkey = new Scanner(System.in);
        System.out.println("Enter commands");
        do  {
            if (userkey.next().equals("exit")) {
                System.out.println("EXIT!!!!");
                break;
            }
            System.out.println("In while loop test");
        }while(userkey.hasNext());

    }
}