- 質問する
- さがす
(4人の評価)
-
- natoi
- 投稿時間:2008/10/20 23:38
今回はfor文をネストします。
本文
何時も、超初心者コードばかりを書いて 説明とか余り無くてすみません><このコードは、変数1をインクリメントするfor文の中に、 変数jをインクリメントするfor文を埋め込んでます。 こんな感じで文をネストすると結構複雑な処理も書けそうですね。コピペする ブログに貼るclass Sample3 { public static void main(String args[]) { for(int i=0; i<5; i++){ for(int j=0; j<3; j++){ System.out.println("iは" + i + ":jは" + j); } } } }
- コメント数 (4)
- クリップ数 (1)
- アクセス数 (991)
- コメント
-
- moppo 投稿時間:2008/10/21 00:39
トリッキーですがforを使わないでやってみました>>natoiさん こういうの好きです 気にせずじゃんじゃん投稿してください!コピペする ブログに貼るclass Sample3 { private static final int I_END = 5; private static final int J_END = 3; public static void main(String args[]){ function(0,0); } private static void function(int i , int j){ System.out.println("iは" + i + ":jは" + j); if( j == J_END - 1 && i == I_END - 1){ return; } if( j == J_END - 1 && i != I_END - 1){ function(i + 1 , 0 ); }else{ function(i ,j+1); } } }
-
- fujiyoshisyouta 投稿時間:2008/10/21 11:50
ちょっと、関数型言語っぽくできるかな、とか考えて書き直してみました。いかがでしょうか?コピペする ブログに貼るclass Sample3 { public static void main(String args[]) { intI(0); } private static void intI( int i) { if(i<3) { intJ(i,0); } } private static void intJ( int i, int j) { if(j<5) { System.out.println("iは" + i + ":jは" + j); intJ(i,j+1); }else { intI(i+1); } } }
-
- moppo 投稿時間:2008/10/21 13:36
>> fujiyoshisyoutaさん カッコいいですねしかし 再帰て難しいですよね もっとエレガントに書きたい
-
- fujiyoshisyouta 投稿時間:2008/10/21 14:05
>moppoさん ありがとうございますしかし、私の書いたコードは、かなりスタックが深くなってますので、実行効率は相当悪いはずです。 じっさい、上記コードをちょっといじくって関数呼び出しの数を計算してみたところ、Main()を含めて23と出ました。
こちらの記事もどうぞ
カタログ
| Eclipse | |
|---|---|
| NetBeans | |
| JBuilder | |
| JDeveloper | |
| Xcode | |
| MonoDevelop | |
| IntelliJ IDEA | |
| JCODER | |
| JCreator | |
| KDevelop | |
| Greenfoot | |
| Qt Creator | |
| Rational | |
| Servoy | |
| Sun Studio | |
| Geany | |
| DrJava | |
| Codelite | |
| BlueJ | |
| BEA Workshop for WebLogic |
![参加型テクノロジーメディア [okyuu.com] 参加型テクノロジーメディア [okyuu.com]](/images/logo/tips_ja.gif?1238565893)










