编译时无法访问的语句

时间:2014-10-12 19:57:38

标签: java compiler-warnings

我正在编写代码来询问一个数字并计算2和n之间的偶数。

    else if (n > 2)
    {
        while (n > r)
        {
            if (n < r)
            {
                break;
                System.out.println(r); <-- now I'm getting an error here "unreachable statement"
            }
            else
            {
                sum +r = sum;
                r = r + 2;                                     
            }

那么究竟该怎么做以确保它不会导致编译错误?

1 个答案:

答案 0 :(得分:0)

sum + r不是变量,因此您无法为其赋值 - 因此sum + r = sum;是错误的。我假设你打算sum = sum + r;。这可以进一步简化为sum += r;

编辑:
在发布此答案后编辑了该问题,因此也进行了更新。 break存在循环,因此其后的任何内容都将无法访问。 Java不允许这样的恶作剧,因而无法编译。解决这个问题的一种方法是在打破之前执行打印

if (n < r)
{
    System.out.println(r);
    break;
}
else
{
    sum = sum + r;
    r = r + 2;                                     
}