Последний номер Фибоначчи
У меня есть эта часть моего кода, и я пытаюсь заставить его напечатать только последний номер Фибоначчи, но не все из них. Как мне это сделать? Я знаю, что вся программа еще не завершена, но мне просто нужно знать, как печатать последний номер, например, когда вы выбираете вариант 1, а затем введите "30" для индекса, вы должны получить только вывод 832040 вместо каждый фибоначчи номер 30. Спасибо!
import java.util.Scanner;
public class Fibonacci {
public static void main(String args[]) {
Scanner scan = new Scanner(System.in);
System.out.println("This is a Fibonacci sequence generator");
System.out.println("Choose what you would like to do");
System.out.println("1. Find the nth Fibonacci number");
System.out.println("2. Find the smallest Fibonacci number that exceeds user given value");
System.out.println("3. Find the two Fibonacci numbers whose ratio is close enough to the golden number");
System.out.print("Enter your choice: ");
int choice = scan.nextInt();
int xPre = 0;
int xCurr = 1;
int xNew;
switch (choice)
{
case 1:
System.out.print("Enter the target index to generate (>1): ");
int index = scan.nextInt();
for (int i = 2; i<=index; i++)
{xNew = xPre + xCurr;
xPre = xCurr;
xCurr = xNew;
System.out.println("The " + index + "th number Fibonacci number is " + xNew);
}
}}}
В основном просто измените код, как показано ниже.
switch (choice)
{
case 1:
System.out.print("Enter the target index to generate (>1): ");
int index = scan.nextInt();
for (int i = 2; i<=index; i++)
{xNew = xPre + xCurr;
xPre = xCurr;
xCurr = xNew;
}
System.out.println("The " + index + "th number Fibonacci number is " + xNew);
Поскольку переменная xNew Variable в последний раз модифицирована для хранения значения индекса (например, - 30), оно должно показывать окончательное значение только как 832040.