[英]Loop variable not initialized in For Loop with IntellijIDEA
我正在使用Deitel和Deitel學習Java,並且正在使用Intellij IDEA IDE。 在我復制到IDE的書中的一個示例中,它編寫了一個帶有初始化變量的for
循環。 當我運行編譯器時,它給我一個錯誤,指出“ java找不到符號(變量)i”。 即使我知道循環變量不需要在循環之前進行初始化,我還是嘗試在循環之前將其聲明為實例變量,並且確實可以運行,但是結果卻不是它應該的樣子(它導致一個矩形或一個橢圓形,具體取決於我輸入的是哪種開關,但應該通過for循環給我10個(顯然沒有執行)。 switch
塊位於for
循環內。 為什么不初始化i
變量?
這是代碼。
package com.example.java;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Shapes extends JPanel
{
private int choice;
public Shapes(int userChoice)
{
choice = userChoice;
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
for (int i = 0; i < 10; i++);
{
switch(choice)
{
case 1:
g.drawRect( 10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i*10);
break;
case 2:
g.drawOval( 10 + i * 10, 10 + i * 10,
50 + i * 10, 50 + i*10);
break;
}
}
}
}
for (int i = 0; i < 10; i++);
觀看那些分號;)
for (int i = 0; i < 10; i++)
這是您的for loop
:
for (int i = 0; i < 10; i++); {
您應該將其更改為:
for (int i = 0; i < 10; i++){
您正在做的事情是一遍又一遍地執行任何操作,然后打開一個新塊。
For loops
for(;;){}
與do while loops
語法不同do{}while();
唯一可以使用for(;;);
當您要執行一行代碼段時。
例如: for(int index = 0; index < 5; index++)System.out.println(index);
for (int i = 0; i < 10; i++);
包含一個分號,該分號僅將for循環的范圍限制為該行。 如果您對此進行更正,則您的代碼應該可以正常工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.