我有一个简单的程序,试图将所有纸牌输出到一副纸牌中。但是,它仅输出每组的1-9张卡,而没有输出任何面卡。即仅执行for循环,j
而不执行f
for
涉及cardFace
数组的循环。为什么是这样?
public class cards {
public final String cardValue[] = {"Heart", "Diamond", "Spade", "Club"};
public final String cardFace[] = {"Jack", "Queen", "King", "Ace"};
public void outputCards() {
for (int i = 0; i < cardValue.length; i++) {
int k = 1;
if (k <= 9) {
for (int j = 1; j <= 9; j++) {
System.out.println("The Card is a " + j + " And is a " + cardValue[i]);
k++;
}
} else {
for (int f = 10; f < cardFace.length; f++) {
System.out.println("The Card is a " + f + " And is a " + cardValue[i]);
k++;
}
}
}
}
}
即使您的代码进入循环,它也永远不会运行,因为此for条件永远不会成立:
for(int f = 10; f < cardFace.length; f++){
如果检查cardFace数组并获取其长度,您会发现它始终小于f。
您的大多数逻辑都有些偏离。我建议您首先在纸上写出程序步骤,在尝试将其提交给代码之前,先仔细考虑这些步骤,因为通常这些类型的错误是在思考之前由编码引起的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句