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

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

Java制作數字文件的二維列表對象

Java制作數字文件的二維列表對象

慕村225694 2023-02-16 17:03:13
我在一個文件中有一個數字金字塔12 33 4 5我試圖用文件中的數字填充 2D Arraylist。我試圖先填充一行數字,然后將該行添加到一列,但我找不到正確的輸入測試來完成這項工作。ArrayList<Integer> rows = new ArrayList<Integer>(); ArrayList<ArrayList<Integer>> columns = new ArrayList<ArrayList<Integer>>();     try {        Scanner s = new Scanner(new File("1.txt"));        //while (s.hasNext()) {            String a = s.next();            String b = s.next();            s.nextLine();            while(s.hasNextLine()) {                while(s.hasNextInt() ) {                 // I want to say while( has more lines is true )                // ( create a row of ints and append it to columns                    rows.add(s.nextInt());                    }                   columns.add(rows);                rows.clear();            }       catch (FileNotFoundException e) {        e.printStackTrace();    }編輯:我添加的最后一行是 [1, 2, 3, 3, 4, 5] 而不是 [3, 4, 5] 因為 s.hasNextInt() 在迭代時始終為真,所以 while(in.hasNextLine ()) 只運行一次
查看完整描述

2 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

快速瀏覽一下,我會說這里的這一行是你的問題:rows.clear();

你的rows變量仍然指向它在你添加它之前指向的同一個列表,columns所以如果你清除它,那么你所做的就是將一個空添加ArrayListcolumns.

替換這一行:

rows.clear();

有了這個:

rows = new ArrayList<>();

這樣,rows變量仍然指向一個空的、全新的ArrayList,但它ArrayList之前指向的變量是獨立的。


查看完整回答
反對 回復 2023-02-16
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

一種簡單的方法是hasNextLine()用 anextLine()和字符串拆分替換循環。


所以你會用nextLine()


ArrayList<Integer> row;

ArrayList<ArrayList<Integer>> columns = new ArrayList<ArrayList<Integer>>(); 

try {

    Scanner s = new Scanner(new File("1.txt"));

    while (s.hasNextLine()) {

        String[] temp = s.nextLine().split(" ");

        row = new ArrayList<Integer>();

        for(String i : temp) ints.add(Integer.parseInt(i));

        columns.add(row);

    }

}

catch (FileNotFoundException e) {

    e.printStackTrace();

}


查看完整回答
反對 回復 2023-02-16
  • 2 回答
  • 0 關注
  • 94 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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