-9

我有代码:

double myVar = 4000000;

然而java返回一个值说:“令牌上的语法错误“;”,{在这个令牌之后是预期的”

建议?

干杯!

完整代码:

public class FibonacciSum {

double a = 1;
double b = 1;

double sum = 0;
double evenSum = 0;

double target = 4000000; 

while(sum < target) {

    sum = a + b;
    a = b;
    b = sum;

    if(sum % 2 == 0)
        evenSum += sum;

}

System.out.println(evenSum);

}
4

4 回答 4

2

什么是代码上下文?

很可能,你把这条线放到了一个不合适的地方,例如没有放到一个方法中。该行应该存在于一个方法或至少一个类定义中。

独立,这不是有效的Java!不过,您可能可以在 bean shell 中使用它。

编辑后更新:您的代码缺少方法

于 2013-04-02T15:35:14.663 回答
1

你没有方法体。您正在尝试直接在类中运行代码。

将代码包装在 main 方法中:

public class FibonacciSum {

    public static void main(String...args) {
        double a = 1;
        double b = 1;

        double sum = 0;
        double evenSum = 0;

        double target = 4000000; 

        while(sum < target) {

            sum = a + b;
            a = b;
            b = sum;

           if(sum % 2 == 0)
           evenSum += sum;

        }

        System.out.println(evenSum);
    }

}
于 2013-04-02T15:37:24.720 回答
1

无需创建一个类,只需将其放在您的 main 方法中即可。

public class FibonacciSum {
    public static void main(String[] args) {
        double a = 1;
        double b = 1;
        double sum = 0;
        double evenSum = 0;
        double target = 4000000; 
        while(sum < target) {
            sum = a + b;
            a = b;
            b = sum;
            if(sum % 2 == 0)
                evenSum += sum;
        }
        System.out.println(evenSum);
    }
}
于 2013-04-02T15:47:54.060 回答
0

我已经测试了你的代码

class Tester
{
    public static void main(String[] args) {
        double myVar = 4000000;
        System.out.println(myVar);
    }
}

输出为 4000000.0

于 2013-04-02T15:36:48.403 回答