我想用java打印多个句子(每个句子都有一个以上的单词),但即使在使用 .nextLine()
. 下面是我的代码,有人能指出我做错了什么吗?
import java.util.*;
class GFG
{
public static void main (String[] args)
{
Scanner sc = new Scanner(System.in);
int t = sc.nextInt(); //t>1
for(int p=1; p<=t; p++)
{
sc.nextLine();
String s = sc.nextLine();
System.out.println(s);
}
}
} // Input-
// 2
// HOW ARE YOU
// GOD IS ONE
// Output-
// HOW ARE YOU -(followed by run time error)
1条答案
按热度按时间ogsagwnx1#
for循环中的第一行:
sc.nextLine()
从in流中读取一行并丢弃它(返回值不放入任何变量)。在您的代码中,您在每次迭代中读取两行(4行用于提供的输入),而只有2行输入。因此,您需要删除此行(第一个sc.nextLine()
).顺便说一句,当我试图运行程序时,它只是等待更多的行,并没有抛出运行时错误(同样在您遇到错误的情况下,最好发布异常本身)。