我目前在使用 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
最佳答案
好的。因此,用户输入卡号 X,程序应列出拥有该卡 X 的人所拥有的所有卡。因此,这就是您应该实现的。在伪代码中:
Card cardX = findCardWithNumber(x);
String owner = cardX.getOwner();
for (Card card: allCards) {
if (card.getOwner().equals(owner)) {
System.out.println(card);
}
}
关于java - 如何从此 for/if 循环获得正确的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26574873/