java - 检测标准输入的空输入

标签 java io java.util.scanner stdin

我试图检测标准输入中的一行是否为空,但我不知所措。以下是我一直尝试使用的代码,但它没有检测该行何时为空和/或是否只有空格。任何人都可以帮助我看看我做错了什么?

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/

相关文章:

类似于.NET的Java GUI框架

linux - 为什么在 sys_write() 期间有读取 SCSI 命令

java - 更灵活的工厂

list - 如何递归地请求输入并返回列表

c++ - C和C++文件读取性能比较

java - 扫描仪在输入文件的末尾处失败

java - 从 System.in 获取 unicode 值

java - 为什么无法读取此代码 : Exception in thread "main" java. util.NoSuchElementException,位于 java.util.Scanner.throwFor(未知来源),

java - Liferay 集成选项

java - 利用线程实现 kruskal 算法