Java 如何使用ArrayList双输入法?

Java 如何使用ArrayList双输入法?,java,arraylist,Java,Arraylist,我有一个包含5张卡的ArrayList,我需要修改我的addCard方法,以便它查找我手中的第一张值小于卡c的卡。然后我必须使用void add(int index,ex)并在该索引处插入我手中的卡c getValue()是一种查找卡的pip值的方法 private ArrayList myHand是一个ArrayList,而Card是一个类 我只是对如何使用add方法感到困惑,下面是我的尝试 // Insert definitions for the getCardValue and addC

我有一个包含5张卡的
ArrayList
,我需要修改我的addCard方法,以便它查找我手中的第一张值小于卡c的卡。然后我必须使用
void add(int index,ex)
并在该索引处插入我手中的卡c

getValue()
是一种查找卡的pip值的方法

private ArrayList myHand
是一个ArrayList,而Card是一个类

我只是对如何使用add方法感到困惑,下面是我的尝试

// Insert definitions for the getCardValue and addCard methods here
public int getCardValue(int n) {
    return myHand.get(n).getValue();
}

public void addCard(Card c) {
    for (int i = 0; i < 5; i++)
        while (myHand.get(i).getValue() < myHand.get(c).getValue())
            myHand.add(i, c);
}

public static void main(String[] args) {
    Card[] cards = { new Card("spades", 4), new Card("hearts", 10),
                    new Card("clubs", 12), new Card("diamonds", 14),
                    new Card("diamonds", 2) };
    Hand h = new Hand();
    for (int i = 0; i < 5; i++)
        h.addCard(cards[i]);
    System.out.println(h.getCardValue(3));
}
//在此处插入getCardValue和addCard方法的定义
公共整数getCardValue(整数n){
返回myHand.get(n.getValue();
}
公共无效添加卡(卡c){
对于(int i=0;i<5;i++)
while(myHand.get(i).getValue()

谢谢大家!

所以你已经展示了你的尝试。。。但你还没告诉我们会发生什么。(不清楚您希望myHand.get(c)
做什么,甚至不清楚myHand的类型是什么。)
public void add(int index,E element)
在列表中的指定位置插入指定的元素。将当前位于该位置的元素(如果有)和任何后续元素向右移动(将一个元素添加到其索引)。@JonSkeet因为有5张卡,所以我尝试遍历它们,看看卡c在哪里会比它大,然后将我手中的卡替换为卡cYou可能更适合使用。虽然有点不清楚你想做什么…@Oninez:这并不能回答你所期望的
myHand.get(c)
。想想那个具体的问题。您还没有说明当前代码会发生什么情况。请阅读