我一直在試圖做一個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更多的細節可以幫助我們理解你想要達到的目標以及爲什麼你沒有達到目標。 –