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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

為什么從文件中讀取并將詳細(xì)信息存儲(chǔ)在類中會(huì)提供垃圾值?

為什么從文件中讀取并將詳細(xì)信息存儲(chǔ)在類中會(huì)提供垃圾值?

阿晨1998 2021-12-10 15:38:23
以下是我用來從文件中讀取并將詳細(xì)信息保存在ArrayList兩個(gè)類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));            }        }我很感激對(duì)上述問題的一個(gè)很好的解釋。
查看完整描述

1 回答

?
DIEA

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超2個(gè)贊

你得到Iphone@28d93b30是因?yàn)槟阏诖蛴∫粋€(gè) Iphone,并且你沒有覆蓋toString()Iphone 類中的方法,這意味著Object.toString()正在執(zhí)行默認(rèn)方法。

你得到一個(gè)例外,因?yàn)槟阍噲D獲得列表中的第一個(gè) Ipad,而列表中沒有任何 Ipad。沒有,因?yàn)槟{(diào)用了next()兩次(一次在第一個(gè)if條件下,一次在第二個(gè)else if條件下,因此您與“IPAD”比較的標(biāo)記是該行的第二個(gè),而不是第一個(gè)。


查看完整回答
反對(duì) 回復(fù) 2021-12-10
  • 1 回答
  • 0 關(guān)注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)