1

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

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.*;

请注意,它在主要方法中确实有一个工作扫描仪。

4

1 回答 1

1

改变:

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;
    }
于 2013-11-08T00:22:02.050 回答