Как напечатать каждый элемент массива в другой строке?

#java #arrays #fibonacci

#java #массивы #фибоначчи

Вопрос:

Это то, что у меня есть сейчас. Я пытаюсь напечатать каждое значение в другой строке (требование № 5).

Функция открытого класса {

 public static BufferedReader lifeIsBuff = new BufferedReader(new InputStreamReader(System.in));

public static void run() throws IOException {

    FibonacciCalculator();

}

public static void FibonacciCalculator() throws IOException {

    //1: Prompt the user for a positive number.
    //2: Initialize an array to that size.
    //3: Populate indices 0 and 1 with the value of 1.
    //4: Using a for loop, populate the remaining spaces in the array with the correct Fibonacci value.
    //5: Print each value to the console in their own lines.
    //6: This app runs once and closes.

    System.out.println("Please enter a positive number: ");
    String input = lifeIsBuff.readLine();
    int arraySize = Integer.parseInt(input);

    long[] nums = new long[arraySize];
    nums [0] = 1;
    nums [1] = 1;

    for (int i = 2; i < nums.length; i  ) {
        nums [i] = nums [i - 1]   nums [i - 2];
    }   
    System.out.println(Arrays.toString(nums));
}
  

}

Вывод:

     [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144]
  

Однако они мне нужны в разных строках.
Я пробовал различные методы, такие как:

     }   
    System.out.println(nums);
}
  

Но это просто возвращает символьную строку:

     [J@15db9742
  

Я пробовал другие различные методы, но это самый близкий, который я получил, и я просмотрел различные методы для вывода каждого элемента в его собственную строку, но поскольку я новичок в кодировании, я не мог разобраться в них или выяснить, как заставить их работать с моим кодом. Любая помощь была бы оценена.
Спасибо!

Комментарии:

1. Поместите System.out.println(nums[i]); в свой цикл (после присвоения nums[i] ).

2. Спасибо, Эллиот, я сделал. Это мелочи, которые меня заводят. Спасибо за помощь.

Ответ №1:

Чтобы напечатать элемент в новой строке, просто добавьте еще один цикл for.

 for (int i = 0; i < nums.length; i  ) {
    System.out.println(nums[i]);
}   
  

или
попробуйте это..

 for (int i = 2; i < nums.length; i  ) {
    nums [i] = nums [i - 1]   nums [i - 2];
     System.out.println(nums[i]);
}   
  

Комментарии:

1. Я попробую еще раз, но, по-моему, я получил красную закорючку червя смерти (красная строка ошибки) под [i] частью строки печати.

2. Извините, я вижу свою ошибку. У меня была строка печати вне цикла, поэтому переменная i не была выбрана. Спасибо за помощь, это сработало.