#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 не была выбрана. Спасибо за помощь, это сработало.