为了账号安全,请及时绑定邮箱和手机立即绑定

从文件中读取数据而无需手动输入数组的长度

从文件中读取数据而无需手动输入数组的长度

达令说 2023-06-21 14:41:53
请我想调整这个从文件中读取整数的代码。我希望代码能够检测数据集的数量 (n),而不必像下面那样手动输入数字 (4000)双[]高=新双[4000];public class Extracto {    public static void main(String[] args) throws IOException {        File fil = new File("C:\\Users\\Desktop\\kaycee2.csv");        FileReader inputFil = new FileReader(fil);        BufferedReader in = new BufferedReader(inputFil);        double[] tall = new double[4000];        String s = in.readLine();        int i = 0;        while (s != null) {            // Skip empty lines.            s = s.trim();            if (s.length() == 0) {                continue;            }            tall[i] = Double.parseDouble(s); // This is line 19.            //  System.out.println(tall[i]);            s = in.readLine();            i++;        }我期望调整后的代码能够获取数据长度,而无需手动将其放入,如下面的代码所示,长度为 4000。双[]高=新双[4000];
查看完整描述

1 回答

?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

使用列表而不是数组。


    File fil = new File("C:\\Users\\Desktop\\kaycee2.csv");

    FileReader inputFil = new FileReader(fil);

    BufferedReader in = new BufferedReader(inputFil);

    ArrayList<Double> tall = new ArrayList<>();

    while(in.ready()){ 

        String s = in.readLine().trim();

        if(!s.isEmpty()){

           tall.add(Double.parseDouble(s);

        } 

    }

如果您使用列表,您的代码可以进一步压缩。当读取的字符串不是数字时,还应在事件中添加 try-catch。


查看完整回答
反对 回复 2023-06-21
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信