我目前在使用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
答案 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);
}
}