Как отобразить нечетные числа в строках по 10 и в столбцах по 5? - PullRequest
0 голосов
/ 03 мая 2020
public static void main(String[] args) {
    // TODO Auto-generated method stub

    int number = 0;

    for (int row = 0; row <=10; row++) {
        for (int column = 0; column <= 5; column++) {
            while(number<100) {
                if (number%2 == 1) {
                    System.out.print(number);
                }
                System.out.print(" ");
                number++;
            }
        }
    }
}

Результат, который я получаю:

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99

Как отформатировать их в 10 строк и 5 столбцов?

Ответы [ 4 ]

1 голос
/ 03 мая 2020

Попробуйте это:

for (int row = 0; row < 10; row++) {
    for (int column = 0; column < 10; column++) {
        if((row * 10 + column) % 2 != 0)
            System.out.print((row * 10 + column) + "\t");
    }
    System.out.print("\n");
}

РЕДАКТИРОВАТЬ:

Или попробуйте это более универсальное c решение, вам просто нужно установить необходимое количество столбцов и строк:

final int ROWS = 10;
final int COLUMNS = 5;

for (int row = 0; row < ROWS; row++) {
    for (int column = 0; column < COLUMNS * 2; column++) {
        if((row * COLUMNS * 2 + column) % 2 != 0)
            System.out.print((row * COLUMNS * 2 + column) + "\t");
    }
    System.out.print("\n");
}

Или используйте while петли, подобные этому:

final int ROWS = 10;
final int COLUMNS = 5;

int row = 0;
while(row < ROWS) {
    int column = 0;
    while(column < COLUMNS * 2) {

        if((row * COLUMNS * 2 + column) % 2 != 0)
            System.out.print((row * COLUMNS * 2 + column) + "\t");

         column++;
    }
    System.out.print("\n");
    row++;
}
0 голосов
/ 03 мая 2020

Пожалуйста, попробуйте ниже. Я не понимаю, зачем вам нужны две петли FOR.

int column = 0;
int number = 0;

while (number < 100) {
    if (number % 2 == 1) {
        System.out.print(number);
        column++;
    }
    if (column % 5 == 0) {
        System.out.print("\n");
    } else {
        System.out.print(" ");
    }
    number++;
}
0 голосов
/ 03 мая 2020

ваши оба for цикла бесполезны, они ничего не делают, также условие number%2 == 1 неверно для проверки нечетного числа, оно не будет работать для отрицательных чисел, но я поздравляю вас за попытку.

попробуешь

 for(int i = 0 ; i < 100 ; ++i) {
           if(i%2 != 0) {
               System.out.print("  "+ i+ " ");
           }
           if(i % 10 == 0)
               System.out.println();
       }
0 голосов
/ 03 мая 2020

Используйте это:

    for (int row = 0; row <=10; row++) {
        for (int column = 0; column <= 5; column++) {
            while(number<100) {
                if (number%2 == 1) {
                    System.out.print(number);
                }
                System.out.print(" ");
                number++;
                if (number % 10 ==1){
                    System.out.println("\n");
                }
            }
        }

    }

Вывод:

1  3  5  7  9  

11  13  15  17  19  

21  23  25  27  29  

31  33  35  37  39  

41  43  45  47  49  

51  53  55  57  59  

61  63  65  67  69  

71  73  75  77  79  

81  83  85  87  89  

91  93  95  97  99 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...