使用Scanner在JAVA(BlueJ)中输入多行字符串时,程序无限运行

时间:2017-12-07 13:41:54

标签: java string java.util.scanner multiline bluej

我在BlueJ中编写了一个接受多行字符串的程序,其作用是将该字符串打印为单行连续字符串

这是我写的代码 -

-Bsymbolic

当我运行此程序并通过将其复制粘贴到BlueJ终端时提供以下输入 -

    import java.util.Scanner;
    class test
    {
        public static void main() 
        {
            Scanner sc = new Scanner(System.in);
            System.out.println("Enter String: ");
            String s = sc.nextLine();
            while(sc.hasNextLine())
            {
                s+=sc.nextLine();
            }
            System.out.println(s);
        }
    }

程序无限运行并且没有输出。

要检查代码出错的位置,我将其更改为 -

10100101111011111111
00000000000000000000
01011101110110101111

但是,我得到的输出是 -

    import java.util.Scanner;
    class test
    {
        public static void main() 
        {
            Scanner sc = new Scanner(System.in);
            System.out.println("Enter String: ");
            String s = sc.nextLine(), a = s;
            while(sc.hasNextLine())
            {
                System.out.println(s);
                s+=sc.nextLine();            
            }
            System.out.println(s);
        }
    }

然后程序无限运行而没有任何输出。

任何人都可以修复我的代码,以便它提供正确的输出 -

10100101111011111111
1010010111101111111100000000000000000000

0 个答案:

没有答案