前提・実現したいこと
初めて2週間ほどのプログラミング初心者です。
まだ知識が足らず、質問の仕方がつたないかもしれません。
Javaのfor文の基本を勉強した後に、演習問題に挑戦しています。
問題は以下です。
「00~99までの数値を並べて表示するプログラムを書いてください」
参考図
00 01 02 03 04 05 06 07 08 09
10 11 12 13 14 15 16 17 18 19
20 21 .....
まず、調べながら自分で書いたのが以下のコードです。
public class Test{ public static void main(String[] args) { String number = ""; for( int i = 0; i < 10; i++){ number = ""; for( int j = 0; j < 10; j++){ number = number + String.valueOf(i) + String.valueOf(j) + " "; System.out.println(number); } } } }
System.out.println(number);の位置を2列目のfor内から出したところ上手く出力されたのですが、なぜうまく出力されたのが分かりません。
自力で書いたコードの間違ってるいる点と、もっとキレイなコードがあればご教示お願い致します。
public class Test{ public static void main(String[] args) { String number = ""; for( int i = 0; i < 10; i++){ number = ""; for( int j = 0; j < 10; j++){ number = number + String.valueOf(i) + String.valueOf(j) + " "; } System.out.println(number); } } }
【追記】
下記コードでも同様に出力できました。
上記コードは、「00 01 02 03 04 05 07 08 09」をnumberに代入しまとめてprintする。
下記コードは、「00」print「01」print....のように単体で順番に出力していく。
という認識で正しいのでしょうか?
public class Test{ public static void main(String[] args) { String number = ""; for( int i = 0; i < 10; i++){ for( int j = 0; j < 10; j++){ number = ""; number = number + String.valueOf(i) + String.valueOf(j) + " "; System.out.print(number); } System.out.println(); } } }
補足情報(FW/ツールのバージョンなど)
Java JDK1.8.0_221
txtエディタ Atom
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/13 01:11