Scanner kb = new Scanner(System.in);
String random;
System.out.print("Enter your word: ");
random = kb.nextLine();
if (random.isEmpty()) {
System.out.println("No input detected!");
} else {
System.out.println(random);
}
以上代码不考虑用户何时腾出空间。当用户按空格键并按下回车键时,它仍然会打印空白行。
我该如何解决这个问题?
答案 0 :(得分:19)
您可以使用String#trim()
方法修剪空白,然后进行测试: -
if (random.trim().isEmpty())
答案 1 :(得分:2)
另一个解决方案可能是修剪并且等于空字符串。
if (random.trim().equals("")){
System.out.println("No input detected!");
}
答案 2 :(得分:1)
另一种解决方案
if (random != null || !random.trim().equals(""))
<br>System.out.println(random);
<br>else
<br>System.out.println("No input detected!");
答案 3 :(得分:1)
这就是Apache Commons does it:
的方式public static boolean isBlank(String str) {
int strLen;
if (str == null || (strLen = str.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if ((Character.isWhitespace(str.charAt(i)) == false)) {
return false;
}
}
return true;
}