Java 读取下一个整数时出现问题

Java 读取下一个整数时出现问题,java,Java,(原问题,已回答) 我想要一个从文本文件中读取整数的程序。数据文件如下所示: 5 4 3 5 4 5 3 2 int par = in.nextInt(); int score = in.nextInt(); System.out.println("Score: " + par + " " + score); System.out.println("Par is:" + par);

(原问题,已回答)

我想要一个从文本文件中读取整数的程序。数据文件如下所示:

5 4
3 5
4 5
3 2
int par = in.nextInt();
int score = in.nextInt();

System.out.println("Score: " + par + " " + score);
System.out.println("Par is:" + par);
<每行的第一个数是PAR,第二个数是分数。因为5 - 4=1,得分低于标准杆(这是一个小鸟)。我的第一行代码:

    in = new Scanner (dataFile);
    System.out.println("Golf Scores: ");                                                
    String line1 = in.nextLine();       
    System.out.println("Score 1: " + line1);
    int par1 = in.nextInt();
    System.out.println("Par is: " + par1);
当我运行它时,我得到以下信息:

高尔夫球成绩:

比分1:54

标准杆:3杆

Par和分数正确地显示出来了。但是,显示的PAR显示了文本文件下一行的PAR。我希望它再次显示“5”。我试着把in.nextLine放在in.nextLine之前,但当我试着这样做时,我得到了这个

高尔夫球成绩:

比分1:4

标准杆:5杆

另外,如果我需要补充什么来更好地解释我的问题,请告诉我。

你不能“倒带”扫描仪,一旦你读了这行,它就消失了,你就不能再读了。您可以尝试以下方法:

5 4
3 5
4 5
3 2
int par = in.nextInt();
int score = in.nextInt();

System.out.println("Score: " + par + " " + score);
System.out.println("Par is:" + par);

在这里,我们首先分别读取和存储这两个整数,然后显示它们

您不应该在意它是否是int(尽管在您的情况下,它始终是int),因此您不必费心使用
nextInt()


你可以读这行,然后像这样分开

String line1 = in.nextLine();       
String[] parScore = line.split(" ");
System.out.println("Score 1: " + parScore[1]);
System.out.println("Par is: " + parScore[0]);

您不想要
字符串line1=in.nextInt()
而不是
String line1=in.nextLine()
?因为我需要程序来读取文本文件的所有4行,有没有一种方法不需要复制和粘贴代码4次就可以做到这一点?@user2757231当然,使用任何编程语言最基本的构造之一。