Второй цикл не выполняется

1

У меня есть эта простая программа, где я пытаюсь вывести все карты в колоду карт. Однако он выводит только 1-9 карт каждого набора и ни одну из лицевых карточек. т.е. выполняется только цикл for с j, но не f for цикла с cardFace массива 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++;
                }
            }
        }
    }
}
Теги:

2 ответа

1
Лучший ответ

Даже если ваш код попал в цикл, он никогда не будет запущен, потому что это условие никогда не будет правдой:

for(int f = 10; f < cardFace.length; f++){

Если вы проверите массив cardFace и получите его длину, вы увидите, что он всегда меньше f.

Большая часть вашей логики немного ушла. Я предлагаю вам сначала выписать шаги программы на бумаге, продумав шаги, прежде чем пытаться зафиксировать их для кодирования, потому что обычно эти ошибки типов вызваны кодированием перед тем, как думать.

  • 0
    Хорошо, спасибо за помощь, это моя первая программа в Java, поэтому я буду использовать ваш совет. Программа теперь работает в любом случае, так как я удалил оператор if и установил f как 0 в цикле for
4
 for(int i = 0; i <cardValue.length; i++){
        int k = 1;
        if(k <=9){
        ...

Учитывая предыдущий код, он всегда будет вводить символы if и never на else. Следовательно, для тех, кто использует переменную f, никогда не будет выполняться.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню