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

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

如何遍歷ArrayList,然后使用Iterator的next方法寫入文件?

如何遍歷ArrayList,然后使用Iterator的next方法寫入文件?

繁華開滿天機 2021-04-09 18:15:19
這是提示:-從ArrayList中獲取一個Iterator并將其分配給局部變量。-使用Iterator遍歷ArrayList,并將Iterator的next方法返回的每個CreditCardNumber的toString寫入輸出文件。(您這次不需要寫任何標簽。)這就是我到目前為止所擁有的。我在寫入文件時遇到了麻煩:    public static void writeArr(ArrayList<CreditCardNumber> temp) {    FileOutputStream outFile = null;    try {        outFile = new FileOutputStream("/Users/raska/Desktop/prog6.txt");    } catch (FileNotFoundException e) {        System.err.println(e);        return;    } // end catch    Iterator<CreditCardNumber> iter = temp.iterator();    PrintWriter prtWriter = new PrintWriter(outFile, true);    while (iter.hasNext()) {        CreditCardNumber obj = iter.next();        prtWriter.println(obj);    }}這是我對ArrayList的輸入:    public static ArrayList<CreditCardNumber> userInputArrList() {    System.out.println("Enter the number of elements in the array: ");    int arrLength = scanner.nextInt();    if (arrLength < 1) {        arrLength = 1;    }    ArrayList<CreditCardNumber> aList = new ArrayList<CreditCardNumber>(arrLength);    for (int i = 0; i < arrLength;) {        try {            System.out.println("Enter an issuer ID# (6 digits) for element #" + i);            String issuerId = scanner.next();            System.out.println("Enter an account # (9 digits) for element #" + i);            String accountNum = scanner.next();            CreditCardNumber obj = new CreditCardNumber(issuerId, accountNum);            obj.changeId(issuerId);            aList.add(obj);            i++;        } catch (IllegalArgumentException e) {            System.out.println(e.toString()); // don't throw just                                                // print        }    }    return aList;}
查看完整描述

1 回答

?
小唯快跑啊

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

問題是,您永遠不會close()選擇PrintWriter或FileOutputStream。


在方法結束時,請執(zhí)行以下操作:


try {

    prtWriter.close();

catch (IOException e) {

    // Do some error reporting.

    e.printStackTrace();

}

更好的方法是使用Java的try-with資源語句:


public static void writeArr(ArrayList<CreditCardNumber> temp) {

    try (FileOutputStream outFile = new FileOutputStream("/Users/raska/Desktop/prog6.txt")) {


        Iterator<CreditCardNumber> iter = temp.iterator();

        PrintWriter prtWriter = new PrintWriter(outFile, true);


        while (iter.hasNext()) {

            CreditCardNumber obj = iter.next();

            prtWriter.println(obj);

        }

    } catch (IOException e) {

        System.err.println(e);

        return;

    }

}


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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