2017-10-07 25 views
-4

この配列を初期化するのに問題があります。私は ";"期待または識別子が必要ですクラス内で配列を初期化中

どうすればよいですか?事前に感謝します 私のオリジナルコードは少し長く、描画方法を持っていますが、簡単にするために、私は問題を説明するバージョンを切り捨てて掲載しました。 迷路を作ろうとしています。

は、私はこのフォーラムに残念男

public class mazet{ 

    public static void main(String a[]){ 

     class square { 

      boolean sides[]=new boolean[4]; 
      private sides[0]=true; 
     } 

    }} 
+1

'private'はアクセス修飾子です。あなたが' sides'配列をprivateにしたい場合、 'private boolean [] sides = new boolean [4]'と宣言します。これは、 'private'配列' sides'を作成し、デフォルトですべての要素を 'false'に設定します。 –

+1

Java構文のリフレッシャーの時間:[ここ](https://docs.oracle.com/javase/tutorial/java/index.html)から開始 –

+0

StackOverflowはJavaの学習を開始するのに正しい場所ではないと思います。それにはより良い場所とコースがあります。 –

答えて

0

に正しくコードを投稿する方法を理解していけない場合民間サイドでの配列の宣言が、問題には問題[0] = trueのはありませんすみません。アクセス修飾子は、メンバーを宣言するときにのみ許可されるため、このように式を開始することはできません。サイドをプライベートメンバーフィールドにしたい場合は、このようにします。

EX. private boolean sides[]=new boolean[4]; 

メンバーの宣言後、クラスレベルで初期化することはできません。これは、コンストラクタまたはメソッドを使用するか、または宣言時に初期化を行うかのいずれかによってのみ実行できます。

Ex. private boolean sides[]=new boolean[]{true, false, false, false}; 

また、この同じことはコンストラクタまたはメソッドを使用して達成してください。 sides [0] = true; これを1つまたは複数のコンストラクタ内に配置します。

関連する問題