我试图检测标准输入中的一行是否为空,但我不知所措。以下是我一直尝试使用的代码,但它没有检测该行何时为空和/或是否只有空格。任何人都可以帮助我看看我做错了什么?
public static String scanPrint(Scanner stdinSP) {
String wordSP = null;
while (stdinSP.hasNext()) {
wordSP = stdinSP.next();
wordSP.trim();
if (wordSP.length() == 0) {
out.println("fail");
break;
} else {
out.println("success");
break;
}
}
out.println(wordSP); //debug
return wordSP;
}
我只能使用以下导入语句:
import java.io.*;
import java.math.*;
import java.text.*;
import java.util.Iterator;
import java.util.NoSuchElementException;
import java.util.Scanner;
import static java.lang.Integer.*;
import static java.lang.String.*;
import static java.lang.System.*;
请注意,它在主方法中确实有一个工作扫描仪。
最佳答案
更改:
wordSP.trim();
至:
wordSP = wordSP.trim();
完整代码:
public static String scanPrint( )
{
Scanner stdinSP = new Scanner(System.in);
String wordSP = null;
while(true)
{
if((wordSP = stdinSP.nextLine().trim()).length() == 0)
{
System.out.println("fail");
break;
}
else
{
System.out.println("success");
break;
}
}
System.out.println(wordSP); //debug
return wordSP;
}
关于java - 检测标准输入的空输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19849402/