- ベストアンサー
多次元配列への数値の代入。
こんにちは。 今、多次元配列への数値の代入の仕方で、悩んでいます。 A[][] = new int[n][n]; B[][] = new int[n][n]; 上記のようなn行n列の配列を宣言し、nを入力します。 例えば、n=100と入力すると、100行100列の配列を定義したことになり、Aの配列には1~10000、Bの配列には10001~20000の数値を代入、200×200であれば1~40000、40001~80000…という感じにしたいのですが、いいアイディアが浮かびません。 また、1~nの間でランダムに数値を選び、その数値を代入というのも考えましたが、Javaで乱数を代入できるのかな?という疑問が出来てしまい、わからなくなってしまいました。 何かいい考えがありましたら、ぜひ教えてください。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんなかんじでしょうか public class CalcTest{ public static void main(String args[]){ int count = Integer.parseInt(args[0]); int test[][] = new int[count][count]; int test2[][] = new int[count][count]; int sum = 1; for(int i=0;i<count;i++){ for(int j=0;j<count;j++){ test[i][j] = sum; sum++; } } int sum2 = sum ; for(int i=0;i<count;i++){ for(int j=0;j<count;j++){ test2[i][j] = sum2; sum2++; } } } }
その他の回答 (1)
- ymmasayan
- ベストアンサー率30% (2593/8599)
Javaで乱数は代入できますよ。 a=(Math.random()*10000+1); で1~10000の乱数が取り出せます。これをループでまわせばいいです。 ただ同じ数字が出来てしまうのは避けられません。 同じ数字を作らせないためには,もっと複雑な方法が必要です。 (参考URL:JAVAの乱数)
お礼
なるほどー。Javaではこんな風に書くんですか。でも、同じ数字を作らせないためには条件を指定しないとダメなんですね。早速使ってみます!ありがとうございました!
お礼
なるほど!この方法に気付きませんでした。非常にお早い回答で本当に助かりました。どうもありがとうございます!