10

可能重复:
如何检查 Java 字符串是否全部为空格

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);
}

上面的代码没有考虑用户何时腾出空间。当用户输入空格并按回车键时,它仍会打印空行。

我该如何解决?

4

4 回答 4

21

您可以使用方法修剪空格String#trim(),然后进行测试:-

if (random.trim().isEmpty())
于 2013-02-04T15:44:33.130 回答
3

另一种解决方案可以是使用空字符串进行修剪和等于。

if (random.trim().equals("")){       
            System.out.println("No input detected!");                   
}
于 2013-02-04T15:45:55.667 回答
1

另一种解决方案

if (random != null || !random.trim().equals(""))
   <br>System.out.println(random);
<br>else
   <br>System.out.println("No input detected!");
于 2013-02-04T15:51:06.270 回答
1

这就是 Apache Commons的做法

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;
}
于 2013-02-04T15:54:37.327 回答