Я изо всех сил пытаюсь правильно отформатировать мой вывод из этого вложенного цикла for - PullRequest
0 голосов
/ 23 сентября 2019

Вывод должен выглядеть примерно так:

1 1 2

3 5 8

13 21 34

Но мой текущий вывод: 1 1 2 3 5 8 13 21 34

Как мне подойти к форматированию?

rows = s.nextInt();
columns = s.nextInt();
int firstNumber = 0;
int secondNumber = 1;
for (int i = 0; i < rows; i++) {
    for(int j = 0; j < columns; j++) {
        int f = firstNumber + secondNumber;
        firstNumber = secondNumber;
        secondNumber = f;

        System.out.printf(f + " ");

    }
}

Ответы [ 3 ]

1 голос
/ 23 сентября 2019

Просто позвоните println() во внешнем цикле (только для строк).

rows = s.nextInt();
columns = s.nextInt();
int firstNumber = 0;
int secondNumber = 1;
for (int i = 0; i < rows; i++) {
    for(int j = 0; j < columns; j++) {
        int f = firstNumber + secondNumber;
        firstNumber = secondNumber;
        secondNumber = f;
        System.out.printf(f + " ");
    }
    System.out.println();
}
0 голосов
/ 23 сентября 2019

попробуйте один раз

    public class Main
{
    public static void main(String[] args) {

    int rows = s.nextInt();
int columns = s.nextInt();
int firstNumber = 0;
int secondNumber = 1;
for (int i = 0; i < rows; i++) {
    for(int j = 0; j < columns; j++) {
        int f = firstNumber + secondNumber;
        firstNumber = secondNumber;
        secondNumber = f;

        System.out.printf(f + " ");

    } 
         System.out.printf(" \n");
      }
    }
}
0 голосов
/ 23 сентября 2019

Вот пример, показывающий, как вы можете отформатировать данный набор данных (если бы он был в массиве int) с 3 значениями в строке.Дополнительным моментом является то, что при изменении index я проверяю, делится ли оно на 3 - если вы хотите напечатать 4 значения в строке, вы можете изменить его на index % 4).Если index делится поровну на 3, тогда оно делает println(), что включает перевод строки.В противном случае, он просто делает print() с любым числом на numbers[index].

int[] numbers = new int[]{1, 1, 2, 3, 5, 8, 13, 21, 34};
for (int index = 0; index < numbers.length; index++) {
    if (index % 3 == 0) {
        System.out.println();
    }
    System.out.print(numbers[index] + " ");
}

Вот вывод:

1 1 2 
3 5 8 
13 21 34
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...