Java 8 字符检测无字符的方法是什么最好?
What is the best Java 8 Character method for detecting no character?
我有一个用 Java 编写的简单程序,我正在尝试找到一种方法来验证在用户点击控制台中的 "enter" 之前是否已输入所有内容.目前,我正在使用 isLetter() 来确保输入了一个字母,但这似乎并不能阻止某人不输入任何内容并按回车键。我在文档中尝试了几种方法,但似乎无法找到一种有效的方法。
对于下面的代码片段,我展示了我如何成功地禁止输入变量 "letter" 是单个字符,并且永远是单个字符,但这并不妨碍用户从什么都不输入后点击 "enter"。
if (! Character.isLetter(letter)) { //Don't forget to validate for no chars entered!
throw new IllegalArgumentException("A letter is required");
按 Enter 将 produce the carriage-return symbol,因此您可以进行此比较:
if (letter != '\r' && letter != '\n') { ... }
由于您使用的是 readLine()
调用,而且通常 readLine()
调用不会在 return 值中包含行终止字符,您为什么不直接做:
if (!yourInput.equals("")) {/* code */}
事实上,您甚至可以在尝试 charAt(0)
我有一个用 Java 编写的简单程序,我正在尝试找到一种方法来验证在用户点击控制台中的 "enter" 之前是否已输入所有内容.目前,我正在使用 isLetter() 来确保输入了一个字母,但这似乎并不能阻止某人不输入任何内容并按回车键。我在文档中尝试了几种方法,但似乎无法找到一种有效的方法。
对于下面的代码片段,我展示了我如何成功地禁止输入变量 "letter" 是单个字符,并且永远是单个字符,但这并不妨碍用户从什么都不输入后点击 "enter"。
if (! Character.isLetter(letter)) { //Don't forget to validate for no chars entered!
throw new IllegalArgumentException("A letter is required");
按 Enter 将 produce the carriage-return symbol,因此您可以进行此比较:
if (letter != '\r' && letter != '\n') { ... }
由于您使用的是 readLine()
调用,而且通常 readLine()
调用不会在 return 值中包含行终止字符,您为什么不直接做:
if (!yourInput.equals("")) {/* code */}
事实上,您甚至可以在尝试 charAt(0)