(原问题已获答覆)
我想要一个程序从文本文件中读取整数。数据文件如下所示:
5 4
3 5
4 5
3 2每行的第一个数是标准杆数,第二个数字是得分。因为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: 5 4
标准杆数:3
所以,标准杆和得分是正确的。但是,显示的par显示文本文件中下一行的par。我要它再次显示"5“。我试着把in.nextInt放在in.nextLine之前,但是当我尝试的时候,我得到了这个
高尔夫球成绩:
得分1: 4
标准杆数:5
另外,如果我需要补充什么来更好地解释我的问题,请告诉我。
发布于 2013-09-18 21:33:00
你不能“倒带”扫描器,一旦你读过这一行,它就消失了,你也不能再读了。你可以试试这样的东西:
int par = in.nextInt();
int score = in.nextInt();
System.out.println("Score: " + par + " " + score);
System.out.println("Par is:" + par);在这里,我们首先分别读取和存储两个整数,并在后面显示它们。
发布于 2013-09-18 21:34:49
您不应该关心它是否是int (尽管在您的情况下,它总是一个int ),所以您不必费心使用nextInt()。
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]);发布于 2013-09-18 21:35:50
你可以像这样读这句话
String line1 = in.nextLine();
String[] parScore = line.split(" ");
System.out.println("Score 1: " + parScore[1]);
System.out.println("Par is: " + parScore[0]);https://stackoverflow.com/questions/18882673
复制相似问题