检测无字符的最佳Java 8字符方法是什么?

时间:2015-05-08 15:17:09

标签: java character isnull

我有一个用Java编写的简单程序,我试图找到一种方法来验证在用户在控制台中点击“enter”之前已经输入了任何内容。目前,我正在使用isLetter()来确保输入了一个字母,但这似乎并没有阻止某人输入任何内容并点击输入。我在文档中尝试了几种方法,似乎无法找到一种有效的方法。

对于下面的代码片段,我展示了我是如何成功地谴责输入变量“letter”是单个字符,并且始终是单个字符,但这并不妨碍用户点击“输入” “没有打字之后。

 if (! Character.isLetter(letter)) {  //Don't forget to validate for no chars entered!
      throw new IllegalArgumentException("A letter is required");

2 个答案:

答案 0 :(得分:1)

点击 Enter produce the carriage-return symbol,所以你可以做这个比较:

if (letter != '\r' && letter != '\n') { ... }

答案 1 :(得分:0)

由于您正在使用readLine()来电,并且readLine()来电通常不会在返回值中包含行终止字符,您为什么不这样做:

if (!yourInput.equals("")) {/* code */}

事实上,您甚至可以在尝试charAt(0)

之前提出这个问题