将数据从文件读入数组

时间:2015-10-18 12:45:14

标签: java arrays file-io

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

public class question2_Arrays {


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

    double[]loanbalanceArray = new double[500];
    int index = 0;

    File file = new File("loanbalance.txt");
    Scanner inputFile = new Scanner(file);

    while(inputFile.hasNext()&& index<loanbalanceArray.length){
        loanbalanceArray[index] = inputFile.nextInt();
        index ++;
        }
    inputFile.close();

我正在尝试将文本文件loanbalance的内容读入一个大小为500的数组这是我到目前为止所做的但当我执行程序时它给了我这个错误“线程中的异常”主“java.util.InputMismatchException     在java.util.Scanner.throwFor(未知来源)     在java.util.Scanner.next(未知来源)     在java.util.Scanner.nextInt(未知来源)“

我可能出错的任何建议?

1 个答案:

答案 0 :(得分:0)

while (inputFile.hasNextDouble() || index<loanbalanceArray.length){
    loanbalanceArray[index] = inputFile.nextDouble();
    index ++;
    }

使用inputFile.hasNextInt方法。 您的输入可以在hasNext调用时返回true但它可以不是int或null并在调用loanbalanceArray[index] = inputFile.nextDouble();期间抛出异常

根据您的评论,您使用loanbalanceArray[index] = inputFile.hasNextDouble()进行分配,但您应该使用loanbalanceArray[index] = inputFile.nextDouble()

hasNextDouble()检查你的输入是否进一步具有double值并且返回Boolean是如此但nextDouble()返回实际的下一个Double值输入