Fibonacci仅用于循环

时间:2015-02-22 00:51:49

标签: java fibonacci

你好,我需要一些帮助解决问题。我在这里看到很多人都问过斐波纳契,但你的解决方案对我来说是不相关的,也是我的经验水平。我的老师会知道我复制了,因为她没有过去。什么是扫描仪?无论如何....所以我无法解决这个问题。

public class Fib2 {

    public static void main(String[] args) {

        int a = 1;
        int b = 1;
        int c = (a + b);

        System.out.print(a + " ");

        System.out.print(b + " ");

        for (int i = 2; i <= 11; i++) {

            System.out.print(c + " ");

            c = (a + b);
            a = b;
            b = c;

        }
    }
}

所以我的输出是这样的:1 1 2 2 3 5 8 13 21 34 55 89 我不需要第二个2,我不知道如何解决它。我把这件事搞砸了。第二组眼睛会很好,因为我无法弄明白。

3 个答案:

答案 0 :(得分:1)

您正在打印然后分配,但您应首先分配然后再打印。

所以在c=(a+b);之前移动System.out.Println(); 然后b=a; a=c;

我希望它适合你!

答案 1 :(得分:0)

好的,我为你修好了...你的错误代码是错误的,而且你得到额外两个的原因是因为你在执行斐波纳契数学之前得到了你的印刷语句。所以我把它放在后面,现在它应该工作。

public class fibonacci {

public static void main(String[] args) {
    // TODO Auto-generated method stubpublic class Fib2{


        int a=1;
        int b=1;
        int c=(a+b);


             System.out.print (a + " ");

             System.out.print(b + " ");

       for( int i=0; i<11; i++) {



                c=(a+b);
                  **b=a;
                  a=c;**
                  **System.out.print(c + " ");**
                 }
 }
}`

答案 2 :(得分:0)

扫描程序是Java中使用的类,能够读取用户输入,简单地说。它意味着通过使用它,你可以让人写一些东西,然后把书面信息分配给变量或你想要的任何东西;这么长时间它与数据类型匹配。

如果我扫描:

1

然后我可以将此1分配给像i这样的int。

 Scanner sc = new Scanner(System.in);
 int i = sc.nextInt();

该代码读取人输入的下一个整数,并为其指定值。

for (int i = 2; i <= 11; i++) {
        //c now gets value before the print!
        c = (a + b);
        System.out.print(c + " ");
        a = b;
        b = c;

    }