

以下のようにしてjavaファイルを作成したのですが、eclipse(3.2)では、「配列定数は、イニシャライザーにおいてのみ使用可能です。」というメッセージが表示されてしまいます。下線は、mapの値全体({{1,1,以下)に表示されています。これに対策するにはどうすればよいのでしょうか?
package map;
import...(略)
public class MapData extends Setting{
int[][] map;
int HotelRoom = 1;
public MapData(int mapname){
switch(mapname){
case HotelRoom:
int[][] map = new int[15][15];
map = { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} };
}
}
}
mapフィールドの宣言をコンストラクタ内で行うと、エラーは出ないのですが、このフィールドは別のクラスでも使うので、それではダメなのです・・・。
情報が少なくて恐縮なのですが、必要に応じて後から補足させていただきますので・・・。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
map = { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} };
って使い方はできません。
int map[][] = { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} };
として使います。
なので、
package map;
import...(略)
public class MapData extends Setting{
private int[][] bufMap = { {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
};
public int[][] map;
public int HotelRoom = 1;
public MapData(int mapname){
switch(mapname){
case HotelRoom:
map = bufMap;
}
}
}
ってのでどうでしょう?
No.1
- 回答日時:
>このフィールドは別のクラスでも使うので、それではダメなのです・・・。
ここの意味がよくわかりません。
class MapData にフィールドとして宣言されている int[][] map と
MapData のコンストラクタで宣言されているローカル変数 int[][] map は別物なんですよね?
そしてクラス変数を別のクラスでも使うとは?
ご回答ありがとうございます。
すみません、コンストラクタ内のint[][] mapは消し忘れでした。
別のクラスで使うというのは、別のクラスに継承して使うということです。(別にclass Map extends MapData{...というのがあるのです)
色々わかりにくくてすみませんです・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SwingでJtableのヘッダ行が表示...
-
JAVAでCの関数ポインタのような...
-
メインが含まれていません
-
JAVA エラー 式の開始が不正で...
-
「配列定数は、イニシャライザ...
-
intが負の時に投げる例外はあり...
-
式の型は配列型で int に解決済...
-
Java 初心者 int型の取り扱い方
-
共有メモリについて
-
c# デリゲート関連の命名について
-
System.err. printlnとSystem.o...
-
動的配列が存在(要素が有る)か...
-
javaで質問です。 文字列2023/2...
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
オブジェクトの中のプロパティ...
-
JSPでImportエラーになります
-
[JAVA]try 内の変数を外で!?
-
[Ljava.lang.Stringってなんですか
-
IF関数でEmpty値を設定する方法。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「配列定数は、イニシャライザ...
-
メインが含まれていません
-
式の型は配列型で int に解決済...
-
javaでカレンダー作成
-
DataSet(DataTable)の使い方
-
Java 初心者 int型の取り扱い方
-
java初心者の質問(3つの整数の...
-
javaでcsvファイル読込時の改行...
-
Java 日付の加算がうまくいき...
-
JAVA エラー 式の開始が不正で...
-
6桁の数字を重複なしでランダム...
-
コンパイルできません
-
SwingでJtableのヘッダ行が表示...
-
C#で実行時にメソッドの返り値...
-
intが負の時に投げる例外はあり...
-
意味がわかりません
-
コンパイラが注意してくる
-
複数のボタンを配置し、それぞ...
-
Threadに関するの質問
-
C#でバブルソート
おすすめ情報