-1

我需要从 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

有任何想法吗?

4

2 回答 2

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);
于 2013-10-17T00:46:10.323 回答
0

scan.nextLine();在这里似乎没有任何用途。

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

String subPattern = "";
于 2013-10-17T00:42:59.400 回答