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

上記のコードは、ユーザーがいつスペースを作成するかを考慮していません。ユーザーがスペースを入力してEnterキーを押すと、空白行が出力されます。

これを修正するにはどうすればよいですか?

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

これが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 に答える
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 に答える