一条消息说"令人困惑的缩进"和"将返回值分配给新变量"

时间:2015-01-23 22:37:07

标签: java return indentation

我一直在研究这个项目,该项目运行良好,但它显示“令人困惑的缩进”和“为新变量分配返回值”警告,我不知道它是什么。这是带警告的行:

System.out.printf(“平方和:%。0f \ n”,tsquee);

以下是完整的项目。谢谢!

    double n = 0;
    while (n < 25)
    {
        n = n + 1;
        if (n > 25) 
            break;

        System.out.printf("%3.0f%15.2f%16.2f%17.2f%15.2f\n", n, Math.cbrt(n), Math.sqrt(n), Math.pow(n, 3), Math.pow(n, 2));

    }

    {
        double tsquee = 0.0, tsqueer = 0.0;
        int csq = 0, ccube = 0;

        for (n = 0; n <= 25; n++)
            tsquee += Math.pow(n, 2); tsqueer += Math.sqrt(n);

        for (n = 0; n <= 25; n++)    
        if (Math.pow(n, 2) > 250)
        {    
            csq++;
        }    
        else if (Math.pow(n, 3) > 2000)
        {    
            ccube++;
        }



        System.out.printf("The sum of the squares: %.0f\n", tsquee);
        System.out.printf("The sum of the square roots: %.2f\n", tsqueer);
        System.out.println("The number of squares greater than 250: " + csq);
        System.out.println("The number of cubes greater than 2000: " + ccube);
    }


}        

1 个答案:

答案 0 :(得分:0)

令人困惑的缩进&#34;警告很可能是因为不需要在while循环之后开始并且结束的花括号集。此外,您的for循环语法不正确。我想你想要的是:

for (n = 0; n <= 25; n++)
{
    if (Math.pow(n, 2) > 250)
    {    
        csq++;
    }    
    else if (Math.pow(n, 3) > 2000)
    {    
        ccube++;
    }
}

但我不确定。你需要将你想要循环的代码包含在花括号中,就像你已经完成了你的while循环一样。

此外,由于你的两个for循环具有相同的边界和条件,你可以将它们组合成一个for循环:

for (n = 0; n <= 25; n++)
{
    tsquee += Math.pow(n, 2);
    tsqueer += Math.sqrt(n); // I would also put these on separate lines

    if (Math.pow(n, 2) > 250)
    {    
        csq++;
    }    
    else if (Math.pow(n, 3) > 2000)
    {    
        ccube++;
    }
}