Я пытаюсь написать программу Java, которая производит "n-й" номер Фибоначчи. Что я делаю не так?!
public class project7 {
public static void main(String[] args) {
ConsoleReader console = new ConsoleReader(System.in);
int fold1 = 1;
int fold2 = 1;
System.out.println("Enter the number of times you would like to compute:");
int n = console.readInt();
for(int i = 0; i <= n; i++ ){
fold1++;
fold2++;
}
int fnew = fold1 + fold2;
System.out.println(fnew);
}
}
Что именно вы ожидаете, кроме числа? Поэтому сначала u инициализируйте консольный ридер, чтобы получить пользовательский ввод. Затем вы инициализируете 2 целых числа в значение 1... fold1 и fold2... Затем вы получаете входное значение для int n... Все это замечательно. Затем вы делаете n + 1 циклов, увеличивая fold1 и fold2... ok.. Затем u добавьте их в fnew и напечатайте результат... что делает этот код. Скажите, что у вас есть вход 5... fold1, он будет увеличиваться в 6 раз, начиная с 1, так что в шести петлях (из-за <=) значения будут 2,3,4,5,6,7... такие же для fold2... печать fnew to be14
Обновить:
Попробуйте это int fold1 = 0; int fold2 = 1; int n = console.readInt...
for(int i=0; i<n;i++)
{
Fnew = fold1 + fold2;
fold1 = fold2;
fold2 = Fnew;
} System.out.println(Fnew);