如何使用scanner在java中打印多个句子?

ezykj2lf  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(358)

我想用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)
ogsagwnx

ogsagwnx1#

for循环中的第一行: sc.nextLine() 从in流中读取一行并丢弃它(返回值不放入任何变量)。在您的代码中,您在每次迭代中读取两行(4行用于提供的输入),而只有2行输入。因此,您需要删除此行(第一个 sc.nextLine() ).
顺便说一句,当我试图运行程序时,它只是等待更多的行,并没有抛出运行时错误(同样在您遇到错误的情况下,最好发布异常本身)。

相关问题