无法使用扫描程序处理输入文件

时间:2017-01-11 15:23:23

标签: java java.util.scanner

基本上我试图通过String课程输入Scanner作为输入。

public class test {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String line = new String();
        for(int t=0;t<10;t++)
        {

            if(sc.hasNextLine()) line = sc.nextLine();
            System.out.println(line);
        }
    }

}

使用输入

ama
asd
asd
asd
fds
fdgd
asd
ghfg
dfs
ghfh

我注意到当我在控制台上逐个写入输入时,我得到了正确的输出。但是当我将输入粘贴在一起时,我没有得到最后的输出。

如何克服这种情况。

它基本上需要输入然后它会给出第10个输入的输出。

注意:这与codechef的问题有关。输入将完全给出,而不是一个一个地输入。

1 个答案:

答案 0 :(得分:0)

您可以告诉扫描仪使用分隔符。但请注意,当分隔符在其后面出现时,您只能获得下一个数据块。这就是为什么你没有得到最后的输出。

所以当你使用......

Scanner sc = new Scanner(System.in);
sc.useDelimiter(" ");
String line = new String();

for(int t=0;t<10;t++){
    if(sc.hasNext()) line = sc.next();
    System.out.println(line);
}

... 一个输入"ama asd asd asd fds fdgd asd fghfg dfs ghfh "(注意结尾处的空格),它应该有效。