![](/img/trans.png)
[英]BufferedReader is skipping every other line when reading my file in java
[英]Java reading every other line in text file
我寫了一些代碼,掃描儀從我的計算機上的文本文件中讀取,但是在運行代碼時,掃描儀只讀取文本文件中的所有其他數字..有什么想法嗎?
注意:對於grades.txt,這是文件
“3 8 1 13 18 15 7 17 1 14”
import java.util.*;
import java.io.*;
public class GradeAverage
{
public static void main(String[] args) throws IOException
{
Scanner scanner = new Scanner(new File("C:\\Users\\Media - Graphics\\Documents\\SCHOOL\\NCVPS\\GradeAverage\\grades.txt"));
int i = 0;
int sum = 0;
int lineNumber = 0;
int average = 0;
while(scanner.hasNextInt()){
System.out.println(scanner.nextInt());
sum = sum+scanner.nextInt();
lineNumber++;
}
System.out.println("The sum of the numbers: "+sum);
System.out.println("The number of scores: "+lineNumber);
average = sum/lineNumber;
System.out.println("The average of the numbers: "+average);
}
}
這是它的輸出:
3
1
18
7
1
數字總和:67
得分數:5
平均數:13
每次在循環中調用nextInt()
時,都會消耗一個int
。 所以當你這樣做時
System.out.println(scanner.nextInt());
sum = sum+scanner.nextInt();
您消耗了兩個int
(s)。 你想要類似的東西
int t = scanner.nextInt();
System.out.println(t);
sum += t;
此外,您的average
目前是int
(我希望是float
或double
)。
double average = sum/(double)lineNumber;
不要忘記刪除int average = 0;
(或相應地修改它並average
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.