得到高和银行帐户

时间:2016-03-11 18:57:56

标签: java for-loop

有人可以帮助我将我的代码从while循环更改为for循环吗?感谢

while(shape < grid.getHt()) 
{ 
    int lv = x; 
    int lvv = y; 
    int lvvv = shape; 
    for(; lo <= hi; lo++) 
        grid.setColor(lv, lvvv, Color.red);
    shape++; 
    x++; 
    y--;
} 
}

1 个答案:

答案 0 :(得分:1)

我已编辑了您的代码,以使其更具可读性。在这之后,一些问题变得明显。

Java中For循环的格式是

for(initialization; termination; increment)
{
    //statement(s)
}

---------- ----------或

for(initialization; termination; increment)
    single.statement(goes_here);

最好使用第一个示例,以提高代码的可读性和维护性。

其中(在大多数情况下)initialization产生并分配一个新变量,termination是exit子句,increment是在循环的每次迭代中执行的动作,通常是变化的在initialization中创建或设置的变量。

在您的情况下,您的代码段中有一个额外的结束括号,如果未与另一个括号正确配对,将导致编译器错误。你还分配了3个未使用的int,我不明白为什么这样做,它实际上不会影响编译 - 只是稍微减慢了程序的速度。

现在,有关如何将此while循环转换为for循环:

while循环使用以下格式:

while (expression)
{
    statement(s)
}

------ ------或

while(expression)
    single.statement(goes_here);

最好使用第一个示例,以提高代码的可读性和维护性。

要将while循环转换为for循环,您需要将expression转换为termination子句。由于它们几乎完全相反(对于termination上的循环退出,而expression上的循环继续,所以您需要做的就是not它并进行优化你的申请),那部分很容易。然后,您还需要添加两个字段 - initializationincrement

对于initialization语句,您只是将变量初始化为值。虽然在某些应用程序中可以跳过此操作,但您可能希望将变量声明为“计数器”变量,这允许您对所有其他变量进行操作,并且仍然具有已运行的迭代次数的精确计数。大多数情况下,这将采用表达式int i = 0的形式,尽管每个应用程序可能会有所不同。

最后,您需要设置increment语句。这个很简单 - 确定每次迭代需要更改的内容并进行更改。常见应用程序将计数器递增1,但每个应用程序都不同。您通常会在终止语句中识别要比较的变量,并将其调整为接近终止。如果你想要终止,你需要variable -= value行。如果您向终止声明提升,则需要variable += value行。或者在其他情况下,代码本身会更改您的变量,并且您希望更改某些任意元素。