调用方法以从文件中读取数据

时间:2019-04-29 00:57:00

标签: java

问题是

主程序调用一种从文件中读取数据的方法。该数据由几行数据组成,每行数据包含一个人的三位数整数ID号以及以美元和美分表示的捐款。 (例如456 250.00或123 175.34)。

我有一个文件,其中包含:

456,250.00

123,175.34

345,123.06

我有这个:

import java.io.*;
import java.util.Scanner;
public class assignment6{

public static void readdata(int[]data,double[]donation)throws 
FileNotFoundException{
Scanner input=new Scanner(new File("setsofdata.txt"));
PrintWriter output = new PrintWriter ("setsofarray.txt");
int i=0;
while(input.hasNext()){
  data[i]=input.nextInt();
  donation[i]=input.nextDouble();
  i++;
}input.close();
output.println(data[i]+"      "+donation[i]);
output.close();
}

public static void main(String[]args)throws FileNotFoundException{
readdata(new int[17],new double[17]);
}
}

为什么我输入时输入不匹配?


主程序调用一种方法来从文件中读取数据。 (此文件将声明并创建输入文件变量。不要忘记引发异常。)数据由多行数据组成,每行数据包含一个人的三位数整数ID号以及以美元和美分表示的捐赠。 (例如456 250.00或123 175.34)。读取文件,直到到达文件末尾。该方法返回读入了多少数据集。

1 个答案:

答案 0 :(得分:1)

将1行计为1组将是:

 private static int readdata()throws FileNotFoundException {
        Scanner input=new Scanner(new File("setsofdata.txt"));
        int countSets=0;
        String line="";
        while(input.hasNextLine()){
             line=input.nextLine();
            countSets++;
        }
        System.out.println("Sets of data read are "+countSets);
        return countSets;

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

如果您要将ID和捐赠计为单独的集合,则为:

 while(input.hasNextLine()){
             line=input.next();
            countSets++;
 }