0

我正在尝试读取一个包含 6 个元素的文本文件并将其放入两个数组中。我要阅读的文本的第一个元素是字符串,第二个元素是双精度。但是,当我调用println验证输出时,它会打印null0.0.

import java.io.*;
import java.util.*;

public class inputFile {

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

    String [] studNum = new String [25];
    double [] grade = new double [25];



    File findFile = new File ("//Users//luiserojas//Documents//holaFile.txt");
    Scanner inFile = new Scanner (findFile);

    int index = 0;

        while (inFile.hasNext()){
            studNum [index] = inFile.next();
            grade [index] = inFile.nextDouble();
            index ++;
            System.out.println(studNum[index] + grade[index]); 
        }

        }

}
4

3 回答 3

4

您在index打印项目之前递增,因此您尝试打印尚未添加的项目,这些项目具有默认构造的值,null并且0.0d您的数组在创建时被填充。只需像这样重新排序以下行将有所帮助:

        System.out.println(studNum[index] + grade[index]); 
        index ++;
于 2013-09-08T18:09:44.853 回答
1

index在打印值之前递增,那里还没有存储任何内容。你需要index++println()

于 2013-09-08T18:10:04.500 回答
1

您正在打印索引递增后的值,因此默认值是 dsiplaying。所以首先打印和下一个递增索引是这样的。

while (inFile.hasNext()){
            studNum [index] = inFile.next();
            grade [index] = inFile.nextDouble();
            System.out.println(studNum[index] + grade[index]); 
            index ++;
        }
于 2013-09-08T18:10:48.313 回答