簡體   English   中英

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 (我希望是floatdouble )。

double average = sum/(double)lineNumber;

不要忘記刪除int average = 0; (或相應地修改它並average )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM