2

如果尝试让用户输入字符串,请使用以下代码:

String X = input("\nDon't just press Enter: ");

如果他们没有输入任何东西,请询问他们,直到他们输入为止。

我试图用 while(x==null) 检查它是否为空,但它不起作用。关于我做错了什么/需要做不同的事情有什么想法吗?

输入()是:

  static String input (String prompt)
    {
        String iput = null;
        System.out.print(prompt);
        try
        {
            BufferedReader is = new BufferedReader(new InputStreamReader(System.in));
            iput = is.readLine();

        }

        catch (IOException e)
        {
            System.out.println("IO Exception: " + e);
        }
        return iput; 
        //return iput.toLowerCase(); //Enable for lowercase
    }
4

1 回答 1

3

为了让用户输入 Java,我建议使用扫描器 (java.util.Scanner)。

Scanner input = new Scanner(System.in);

然后你可以使用

String userInput = input.nextLine();

检索用户的输入。最后,为了比较字符串,您应该使用 string.equals() 方法:

public String getUserInput(){
    Scanner input = new Scanner(System.in);
    String userInput = input.nextLine();
    if (!userInput.equals("")){
        //call next method
    } else {
        getUserInput();
    }
}

这个“getUserInput”方法的作用是获取用户的输入并检查它是否为空白。如果它不是空白的(“if”的第一个部分),那么它将继续到下一个方法。但是,如果它是空白的(“”),那么它将简单地重新调用“getUserInput()”方法。有很多方法可以做到这一点,但这可能只是最简单的方法之一。

于 2013-11-14T03:45:46.157 回答