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

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

如何并排輸出兩個不同長度的數組列表

如何并排輸出兩個不同長度的數組列表

開滿天機 2022-05-25 17:23:04
我刪除了我以前的帖子.. 這是我的問題的信息以及如何重現該問題因為用戶輸入了正確數量的字符串以匹配 originalR6 長度,所以一切都變得很花哨。但是當說用戶輸入的字符串比 originalR6 少時,所以現在 originalR6 比 userInputR6 大。編譯時返回索引超出范圍 要查看手頭的問題,請在 userInput 方法中注釋掉 nomad,maverick,lion 并取消注釋 nomad,maverick    public static void main(String[] args) {    TestMain main = new TestMain();    main.addAll();    //user input    main.userInput();    main.printAll();}ArrayList<String> originalR6 = new ArrayList<String>();ArrayList<String> userInputR6 = new ArrayList<String>();public void addAll() {    //Our set list of characters    Collections.addAll(originalR6,"nomad", "maverick", "lion");}public void userInput() {    userInputR6.add("nomad");    userInputR6.add("maverick");    userInputR6.add("lion");    //--------------   // userInputR6.add("lion");   // userInputR6.add("lion");}public void printAll() {    for (int i = 0; i <originalR6.size() ; i++) {        System.out.println((i+1) + ". " + originalR6.get(i) + "\t" + (i+1) + ". " + userInputR6.get(i));    }}}
查看完整描述

2 回答

?
寶慕林4294392

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

您應該打印到較小的索引,然后 ^rint 2 的較大列表,我使用printf它,因為它允許獲得對齊:


public void printAll() {

    int minSize = Math.min(originalR6.size(), userInputR6.size());

    for (int i = 0; i < minSize; i++) {

        System.out.printf("%d. %-10s %d. %-10s%n", (i + 1), originalR6.get(i), (i + 1), userInputR6.get(i));

    }

    if (originalR6.size() < userInputR6.size()) {

        for (int i = minSize; i < userInputR6.size(); i++) {

            System.out.printf("%d. %-10s %d. %-10s%n", (i + 1), "/", (i + 1), userInputR6.get(i));

        }

    } else if (originalR6.size() > userInputR6.size()) {

        for (int i = minSize; i < originalR6.size(); i++) {

            System.out.printf("%d. %-10s %d. %-10s%n", (i + 1), originalR6.get(i), (i + 1), "/");

        }

    }

}

要得到


案子if


1. nomad      1. nomad     

2. maverick   2. maverick  

3. lion       3. /   

案子 else if


1. nomad      1. nomad     

2. maverick   2. maverick  

3. lion       3. lion      

4. /          4. lion      

5. /          5. lion      


查看完整回答
反對 回復 2022-05-25
?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

索引兩個“數組”數據時,如果您嘗試索引數組/列表中的最后一個元素,您將得到index out of range,因為在最后一個元素之后只有深淵。


for (int i = 0; i <originalR6.size() && i <userInputR6.size(); i++) {

    System.out.println((i+1) + ". " + originalR6.get(i) + "\t" + (i+1) + ". " + userInputR6.get(i));

}

i <userInputR6.size()作為附加條件添加到您的 for 循環條件中將停止您的index out of range錯誤,打印出的元素將簡單地忽略較長數組/列表的其余部分。


查看完整回答
反對 回復 2022-05-25
  • 2 回答
  • 0 關注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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