如何从这个for / if循环中获得正确的输出

时间:2014-10-26 15:54:55

标签: java arraylist java.util.scanner

我目前在使用for循环和if循环时遇到了一些困难。我现在没有得到正确的输出,也许你可以帮我找到线索。

for循环遍历我的所有卡片,每张卡片获得一张卡片,从0开始,每次增加+1

每张卡都有一张拥有该卡的人的名字。

问题:如果我输入所选的号码,我不仅需要打印所选的卡,还需要打印该名称所拥有的所有其他卡。

我如何收到输入:

System.out.println("Enter your card number: ");
int cardnumber = Integer.parseInt(in.nextLine());

当前循环:

for(Card c: cardlist) {                              

    if(c.toString().contains(cardlist.getCard(cardnumber).toString())){
    System.out.println(c.toString());
    }
}

立即输出

// Input: 0

Cardnumber: 0
Name: Lars

我希望实现的输出

// Input: 0, only print cards with name Lars

Cardnumber: 0
Name: Lars

Cardnumber: 1
Name: Lars

Cardnumber: 5 
Name: Lars

1 个答案:

答案 0 :(得分:2)

行。因此,用户输入卡号X,并且程序应列出拥有卡X的人所拥有的所有卡。因此,这是您应该实现的。在伪代码中:

Card cardX = findCardWithNumber(x);
String owner = cardX.getOwner();
for (Card card: allCards) {
    if (card.getOwner().equals(owner)) {
        System.out.println(card);
    }
}