第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么從文件中讀取并將詳細信息存儲在類中會提供垃圾值?

為什么從文件中讀取并將詳細信息存儲在類中會提供垃圾值?

阿晨1998 2021-12-10 15:38:23
以下是我用來從文件中讀取并將詳細信息保存在ArrayList兩個類Iphone和 中的代碼Ipad,但顯然這出現(xiàn)了問題。我為這段代碼得到的輸出是:Iphone@28d93b30 和 IndexOutOfBoundException 用于 ipads.get(0)try {            fScanner = new Scanner(new File("apple.txt"));        }         catch (FileNotFoundException e) {            System.out.println(e.toString());        }        ArrayList<Iphone> iphones = new ArrayList<>();        ArrayList<Ipad> ipads = new ArrayList<>();        while(fScanner.hasNextLine()) {            String line = fScanner.nextLine();            Scanner lineScanner = new Scanner(line);            if(lineScanner.next().equals("IPHONE")) {                    String model = "IPHONE"+lineScanner.useDelimiter(",").next();                    String scrSze = lineScanner.useDelimiter(",").next();                    String proc = lineScanner.useDelimiter(",").next();                    String simT = lineScanner.useDelimiter(",").next();                    String clr = lineScanner.useDelimiter(",").next();                    String rom = lineScanner.useDelimiter(",").next();                    String is3dtouch = lineScanner.useDelimiter(",").next();                    String pric = lineScanner.useDelimiter(",").next();                    iphones.add(new Iphone(model,scrSze,proc,simT,clr,rom,is3dtouch,pric));             }            else if(lineScanner.next().equals("IPAD")) {                    String model = "IPAD"+lineScanner.useDelimiter(",").next();                    String scrSze = lineScanner.useDelimiter(",").next();                    String proc = lineScanner.useDelimiter(",").next();                    String iswifi = lineScanner.useDelimiter(",").next();                    String clr = lineScanner.useDelimiter(",").next();                    String memo = lineScanner.useDelimiter(",").next();                    String pric = lineScanner.useDelimiter(",").next();                    ipads.add(new Ipad(model,scrSze,proc,iswifi,clr,memo,pric));            }        }我很感激對上述問題的一個很好的解釋。
查看完整描述

1 回答

?
DIEA

TA貢獻1820條經(jīng)驗 獲得超3個贊

你得到Iphone@28d93b30是因為你正在打印一個 Iphone,并且你沒有覆蓋toString()Iphone 類中的方法,這意味著Object.toString()正在執(zhí)行默認方法。

你得到一個例外,因為你試圖獲得列表中的第一個 Ipad,而列表中沒有任何 Ipad。沒有,因為您調(diào)用了next()兩次(一次在第一個if條件下,一次在第二個else if條件下,因此您與“IPAD”比較的標記是該行的第二個,而不是第一個。


查看完整回答
反對 回復 2021-12-10
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號