亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從文件中讀取數據而無需手動輸入數組的長度

從文件中讀取數據而無需手動輸入數組的長度

達令說 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 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號