使用拆分和读取文件中一行的整数和字符串,但它不会打印任何内容

时间:2018-05-28 19:22:18

标签: java file java.util.scanner

问题是从一个空格分隔的文本文件中读取字符串和int。 (例如“3.3杰克”)。我也试过使用split方法,它似乎没有打印任何东西。只是一个初学者!

package com.company;

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class Main {

    public static void main(String[] args) throws FileNotFoundException {

        Scanner reader = new Scanner(new File("data.txt"));

        double[] grades = new double[6];
        String[] names = new String[6];
        String s = reader.nextLine();
        String[] split = s.split(" ");

        int sum= 0;
        int counter= 0;
        int avg= 0;
            while(reader.hasNext()) {
                for (int i = 0; i <= grades.length; i++) {
                    grades[i] = Double.valueOf(split[0]);
                    names[i]= split[1];
                    sum+=grades[i];
                    counter++;
                    avg= sum/counter;

                }
                System.out.println(avg);
            }

    }
}

1 个答案:

答案 0 :(得分:0)

发生错误,因为您正在验证“i&lt; = grades.length”,将其更改为“i&lt; grades.length”并删除while,如下所示:

confvalue

如果你想阅读所有的行,你可以这样做:

PDPageContentStream contentStream = PDPageContentStream(document, page, true, true, true);

您可以使用do-while首次执行,然后验证是否有更多行。