首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下一个int阅读困难

下一个int阅读困难
EN

Stack Overflow用户
提问于 2013-09-18 21:29:24
回答 3查看 240关注 0票数 0

(原问题已获答覆)

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

代码语言:javascript
复制
5 4
3 5
4 5
3 2

每行的第一个数是标准杆数,第二个数字是得分。因为5-4= 1,所以比分低于标准杆(这是一只小鸟)。我的第一行代码:

代码语言:javascript
复制
    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: 5 4

标准杆数:3

所以,标准杆和得分是正确的。但是,显示的par显示文本文件中下一行的par。我要它再次显示"5“。我试着把in.nextInt放在in.nextLine之前,但是当我尝试的时候,我得到了这个

高尔夫球成绩:

得分1: 4

标准杆数:5

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-18 21:33:00

你不能“倒带”扫描器,一旦你读过这一行,它就消失了,你也不能再读了。你可以试试这样的东西:

代码语言:javascript
复制
int par = in.nextInt();
int score = in.nextInt();

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

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

票数 5
EN

Stack Overflow用户

发布于 2013-09-18 21:34:49

您不应该关心它是否是int (尽管在您的情况下,它总是一个int ),所以您不必费心使用nextInt()

代码语言:javascript
复制
String line = in.nextLine();    
String[] nums = line.split(" ");
System.out.println("score: " + nums[0]/*par*/ + " " + nums[1]/*score*/);
System.out.println("par is:" + nums[0]);
票数 3
EN

Stack Overflow用户

发布于 2013-09-18 21:35:50

你可以像这样读这句话

代码语言:javascript
复制
String line1 = in.nextLine();       
String[] parScore = line.split(" ");
System.out.println("Score 1: " + parScore[1]);
System.out.println("Par is: " + parScore[0]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18882673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档