【问题标题】:OutOfBoundsException error when creating an ArrayList [closed]创建 ArrayList 时出现 OutOfBoundsException 错误 [关闭]
【发布时间】:2016-02-24 22:47:22
【问题描述】:

我正在尝试制作一副纸牌。到目前为止,我有这个:

import java.util.*;
public class Card {
    public static void main(String[] args) {
        ArrayList<String> rank = new ArrayList<String>(Arrays.asList("Ace", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine", "Ten", "Jack", "Queen", "King"));
        ArrayList<String> suite = new ArrayList<String>(Arrays.asList("Spades", "Hearts", "Clubs", "Diamonds"));
        ArrayList<String> deck = new ArrayList<String>();
        String card;


        for (int i = 0; i < rank.size(); i++) {
            for (int p = 0; i < suite.size(); p++) {
                card = rank.get(i) + " of " + suite.get(p);
                deck.add(card);
            }
        }
        System.out.println(deck);
    }
}

我在这一行收到 IndexOutOfBoundsException 错误:

card = rank.get(i) + " of " + suite.get(p);

【问题讨论】:

  • 再看一遍---->int p = 0; i &lt; suite.size(); p++
  • 这是一个典型的拼写错误问题,嘿,每个人都不会遇到问题......但我建议你不要接受答案,甚至可以删除它(你会得到你的代表点数)以保留 SO干净。

标签: java arraylist indexoutofboundsexception


【解决方案1】:

你在第二个循环中有错误:

for (int p = 0; i < suite.size(); p++) {

应该是

for (int p = 0; p < suite.size(); p++) {

【讨论】:

  • 哇,谢谢!我觉得自己像个白痴,没有注意到大声笑
【解决方案2】:

我相信这是因为您在内部 for 循环中使用了 i &lt; suite.size();

【讨论】:

    猜你喜欢
    • 2019-04-27
    • 2015-09-08
    • 2023-03-09
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 2019-02-20
    • 2018-08-12
    • 2022-06-24
    相关资源
    最近更新 更多