私はDeitelとDeitelでJavaを学習していますが、Intellij IDEA IDEを使用しています。 IDEにコピーした本の例の1つでは、for
ループに初期化変数を書き込みます。コンパイラを実行すると、 "javaがシンボル(変数)iを見つけることができません"というエラーが表示されます。ループ変数はループの前に初期化を必要としないことがわかっていますが、ループの前にインスタンス変数として宣言してみましたが、実行されますが、結果は元のものとは異なります長方形、または1つの楕円形を入力しますが、それは私に10個のforループを渡すことになっています。これは明らかに実行されていません)。 switch
ブロックはfor
ループ内にあります。 i
変数が初期化されないのはなぜですか?ループ変数がIntellijIDEAのForループで初期化されていません
ここにコードがあります。
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'ループはセミコロンで終了し、' switch'ブロックは 'i'の範囲外です。 – khelwood
ありがとうございました!私はこれを読んで何回のカウントを失ったと私はまだこのパスのようなものを聞かせて!私はそれを疑っていたはずです。 – NeoTrader