我需要在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
有什么想法吗?
答案 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 = "";