我需要为我的课程创建一个Fibonacci项目,并且我的循环不想开始
import java.util.Scanner;
public class FibonacciGenerator{
public static void main(String[] args){
Scanner sd = new Scanner(System.in);
System.out.println("Enter the amount of fibonaccis you want: ");
int ny = sd.nextInt();
Fibonacci num = new Fibonacci(ny);
System.out.println(num.getFib1());
System.out.println(num.getFib2());
for(int i = 1; i < ny; i++){
System.out.println(num.nextNumber());
num = new Fibonacci(ny);
}
}
}
这是我的派生类,用于询问每个班级的学生
public class Fibonacci {
private int n;
private int fib1;
private int fib2;
private int fib3;
public Fibonacci(int ny){
n=ny;
fib1=1;
fib2=1;
fib3=0;
}
public int nextNumber() {
while(n>2) {
fib3=fib1+fib2;
fib1=fib2;
fib2=fib3;
}
return fib3;
}
public int getFib1() {
return fib1;
}
public int getFib2() {
return fib2;
}
}
希望这个问题不仅在我眼前,我也看不到。试图开始编码,所以这是一个开始。
答案 0 :(得分:1)
您的斐波那契课程看起来像这样吗?
class FibonacciExample1{
public static void main(String args[]){
int n1=0,n2=1,n3,i,count=10;
System.out.print(n1+" "+n2);
for(i=2;i<count;++i) {
n3=n1+n2;
System.out.print(" "+n3);
n1=n2;
n2=n3;
}
}
}
取自here
的示例答案 1 :(得分:0)
如果必须这样做,我会选择其他方式-但这是您的程序,所以我只解决了您的错误:
public class Fibonacci {
private int n;
private int fib1;
private int fib2;
private int fib3;
public Fibonacci(int ny){
n=ny;
fib1=1;
fib2=1;
fib3=0;
}
public int nextNumber() {
while(n-->2) {
fib3=fib1+fib2;
fib1=fib2;
fib2=fib3;
}
return fib3;
}
public int getFib1() {
return fib1;
}
public int getFib2() {
return fib2;
}
}
public class FibonacciGenerator{
public static void main(String[] args) {
Scanner sd = new Scanner(System.in);
System.out.println("Enter the amount of fibonaccis you want: ");
int ny = sd.nextInt();
Fibonacci num = new Fibonacci(ny);
System.out.println(num.getFib1());
System.out.println(num.getFib2());
for(int i = 3; i < ny; i++){
num = new Fibonacci(i);
System.out.println(num.nextNumber());
}
}
}