Javaでのfor文

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
肉9

Javaでのfor文

#1

投稿記事 by 肉9 » 16年前

Cだとダンジョン等の2次元配列を別の二次元配列に入れる時
問題はなったのですがJavaだとコンパイルに失敗してしまいます。
    int[/url][/url] MapArray;
	int[/url][/url] Map_01 = {
			{0,0,0,0,0},
			{0,1,2,1,0},
			{0,2,2,2,0},
			{0,1,2,1,0},
			{0,0,0,0,0}
	};
	
	for (int i = 0; i < 5; i++){     ←ここで型が~とエラーが出る
		for (int j = 0; j < 5; j++){
			MapArray[j] = Map_01[j];
		}
	}


なぜなんでしょうか・・・・・

ねこ

Re:Javaでのfor文

#2

投稿記事 by ねこ » 16年前

ここってJavaもOKなんでしたっけ?

「型が~」じゃ分かんないんですが、構文上変な点は無いですし
それよりその先のメモリ確保してないMapArrayに変数入れてる方が変な気がします。

nn

Re:Javaでのfor文

#3

投稿記事 by nn » 16年前

MapArray=new int[5][5];
をfor文の前に入れてみてはどうでしょうか?

sizuma

Re:Javaでのfor文

#4

投稿記事 by sizuma » 16年前

>Javaも
C以外でも何でも気軽にオッケーみたいです

>メモリ確保していない
そのとおりですね。
newしないと使えないです。
javaでは
int[/url][/url] Map_01 = {

			{0,0,0,0,0},

			{0,1,2,1,0},

			{0,2,2,2,0},

			{0,1,2,1,0},

			{0,0,0,0,0}

};
も

int [/url][/url] Map_01 = new int[5][/url];
int [0] Map_01 = new int[5];
int [1] Map_01 = new int[5];
        :
        :
        :
を簡略化して書けてるものなので。

ループが配列のLengthを使ってないので、5*5が固定ならば、一番上のものを

int [/url][/url] MapArray = new int [5][5];
と書けば動くと思います
追記 
かぶりました;

sizuma

Re:Javaでのfor文

#5

投稿記事 by sizuma » 16年前

というか先にメモリを確保してないから、Cでもコンパイルは通ってもオーバーフローする可能性があるんじゃないんでしょうか?

閉鎖

“C言語何でも質問掲示板” へ戻る