• 締切済み

ご教授願いたいのですが・・・

 今初めてのプログラミング言語としてJava言語を使用して勉強しています。そんななか2次元配列のところで分からないところがありまして、現在ちょっとストップしています。もしよろしければご教授お願い致します。  下記のプログラムを組んだ際に、for文から抜けずに満足する結果が出てきません。  分かりやすいように解説して頂けますとありがたいです。 <ren19> public class ren19 { public static void main(String args[]) { int i,j; String strAry[][] = new String[3][2]; strAry[0][0] = "その1"; strAry[0][1] = "10"; strAry[1][0] = "その2"; strAry[1][1] = "50"; strAry[2][0] = "その3"; strAry[2][1] = "60"; for(i=0;i<strAry.length;i++) { for(j=0;j<strAry.length;j++) { System.out.println(strAry[i][j]); } } } } <出力される結果> その1 10 <求める結果> その1 10 その2 50 その3 60

みんなの回答

回答No.2

/* 先の方の回答で正しいですが、補足として、 ・クラス名は大文字で始める ・String args[] → String[] args と書くのが文法的に正しい ・int i と int j はfor文の中に書く。こうすることでループの中だけで使える変数となる。int i = 0 の初期化は初回のみです。 ・ { } の使い方が、本の通りにしてあると思いますが、プログラムが読みずらい。スペースも適切に使ったほうが見やすいですよ。(下記プログラムを参考にして下さい。投稿の都合上、インデント(左の余白)がうまく表示できてないですけど) 参考書は、やさしいJavaかな?私も持ってるけど、説明の間違いが少しあるし、標準の書き方に添ってないと思います。 Java言語プログラミングレッスン(上・下巻)のほうがおすすめですよ。 */ public class Ren19 { public static void main(String args[]) { String strAry[][] = new String[3][2]; strAry[0][0] = "その1"; strAry[0][1] = "10"; strAry[1][0] = "その2"; strAry[1][1] = "50"; strAry[2][0] = "その3"; strAry[2][1] = "60"; for(int i = 0; i < strAry.length; i++) { for(int j = 0; j < strAry[i].length; j++) { System.out.println(strAry[i][j]); } } } }

nashiusa
質問者

お礼

ご回答ありがとうございます。 ご指摘の点、非常に参考になりました。 また、for文に抜けがあることがわかりました。 今度ご推薦の書物を探してみます。

回答No.1

for文のところを下記のようにしたらどうでしょうか。 for(i=0;i<strAry.length;i++) { for(j=0;j<strAry[i].length;j++) { System.out.println(strAry[i][j]); } } }

関連するQ&A