質問: New String[H][W] } } 上記のようなことができない場合は、main内で宣言してメソッドの引数として 毎回渡す形にするしかないのでしょうか。 (2016/04/26 00:00追記) 下記のエラーです。 (質問に記載したコードは質問用に編集したものです) ![イメージ説明](https://teratail-v2.storage.googleapis.com/uploads/contributed_images/396d4a839bf472663261ed97d8527837.png)
回答: これは単にNewのNが大文字であるためのエラーでは? なお、エラーならどのようなエラーかを出してください。このレベルならそれがそのまま答えであることが多いです。 > > Cannot use this in a static context > > Cannot make a static reference to the non-static field W > > Cannot make a static reference to the non-static field H > > > すべてstaticメソッドから非staticメンバを参照しているためのエラーです。 基本的にクラスのフィールドおよびメソッドはインスタンスに紐づくものですが、 staticのものはインスタンスに紐付かず、クラスに唯一のものとなります。 その特性上、staticメソッドからは**インスタンスが存在しない**前提のもとで操作できる範囲、 すなわちstaticなメンバと引数として渡されたものしか使えません。 これを解消するためには、これらのフィールドをstaticにするか、インスタンスを生成してそのインスタンスのフィールドに対しての操作に変える必要があります。