Моя программа должна выводить число Фибоначчи на основе того, что ввел пользователь (например, если он введет 7, программа выведет 13). Эта часть работает. Часть, с которой у меня возникают проблемы, заключается в том, что программа проверяет, чтобы число, введенное пользователем, было положительным и меньше или равно 70. Предполагается, что пользователь снова запрашивает ввод, но вместо этого выводит «Fibonacci #-1 равно 0" и останавливается. Вот мой код:
import java.util.Scanner;
public class scalvert_Fibonacci
{
public static void main ( String args[] )
{
Scanner input = new Scanner ( System.in );
int sum = 0;
int num;
int f1 = 0, f2 = 0, f3 = 1;
System.out.print("Which Fibonacci number would you like? ");
num = input.nextInt();
if (num == 0)
return 0;
else if (num == 1)
return 1;
while (num < 0 || num > 70)
{
System.out.print("Which Fibonacci number would you like? ");
num = input.nextInt();
}
for(int i = 1; i <= num; i++)
{
f1 = f2;
f2 = f3;
f3 = f1 + f2;
}
System.out.printf("Fibonacci #%d is %d\n",num, f2);
}
}