从控制台读取Java多行

时间:2013-10-17 00:37:59

标签: java console

我需要在java中从控制台读取多行。我尝试了很多东西但是nextLine()总是只读第一行。

    System.out.println("Enter number of patterns:");

    noOfSubPattern = scan.nextInt();

   // System.out.println(noOfSubPattern);

    scan.nextLine();
    System.out.println("Enter patterns:");
    for(int i = 0; i < noOfSubPattern; i++)
    {

        subPattern += scan.nextLine();

    }
    System.out.println("Subpattern: " + subPattern);

我的输出示例:

Enter number of patterns:
3
Enter patterns:
ATTC
CTGC
CTTC

Subpattern: ATTCATTCATTC

但是我需要得到这个结果:

Subpattern: ATTCCTGCCTTC

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

此代码正常运行:

Scanner scan = new Scanner(System.in);
String subPattern = "";
System.out.println("Enter number of patterns:");
int noOfSubPattern = scan.nextInt();
scan.nextLine();
System.out.println("Enter patterns:");
for(int i = 0; i < noOfSubPattern; i++)
    subPattern = subPattern + scan.nextLine();
System.out.println("Subpattern: " + subPattern);

答案 1 :(得分:0)

scan.nextLine();似乎没有任何用处。

您应该将subPattern初始化为空字符串:

String subPattern = "";