我一直在试图做一个for循环,水平复制屏幕上的垂直线,每一个距离它的先例相同的距离;然而,尽管看起来在语法上是正确的,但我的代码似乎并不奏效。我已经在下面发布了我的代码,希望有人能够发现问题。For循环(s)不按预期与图形工作
class HVLines
{
public static void Lines(Graphics g)
{
int k;
int x=0;
for (k = 1; k <= 50; k++)
{
g.drawLine(20+x,150,20+x,525);
for (x = 1; x <= 50; x+=20)
{
}
}
}
}
不空内环目的是什么?是的,你的语法是“正确的”,这意味着它编译,但它没有逻辑意义。如果不先编写逻辑,关闭计算机并分别在纸上编写代码。 –
'x'的内循环没有代码,所以它什么都不做(除了浪费CPU时间)。外循环中的'drawLine()'调用将在第一次迭代中用'x = 0'绘制,并且在随后的所有迭代中用'x = 61'绘制。也许把它移入内部循环? 'k'循环的目的是什么?如果你已经在循环中声明了这些变量,你会注意到“x”的滥用,例如'for(int x = 1; x <= 50; x + = 20)' – Andreas
请改进问题:显示您想要实现的内容的图像,解释您认为每行代码正在做什么... A更多的细节可以帮助我们理解你想要达到的目标以及为什么你没有达到目标。 –