2008年07月17日
■[Java]文字列配列をカンマ区切りの文字列にする
課のメンバーで簡単なプログラミングコンテスト。
お題は、「dog」「cat」「pig」という文字列配列の各要素をカンマで区切った文字列に変換せよ、です。
回答1
String[] ary = new String[]{"dog", "cat", "pig"}; StringBuilder builder = new StringBuilder(); for(int i=0; i<ary.length; i++) { builder.append(ary[i]); if ( i != ary.length-1 ) { builder.append(","); } } String result = builder.toString();
回答2
String[] ary = new String[]{"dog", "cat", "pig"}; StringBuilder builder = new StringBuilder(); for(String str : ary) { builder.append(str).append(","); } String result = builder.substring(0, builder.length() - 1);
回答3
String[] ary = new String[]{"dog", "cat", "pig"}; StringBuilder builder = new StringBuilder(); for(int i=0; i<ary.length-1; i++) { builder.append(ary[i]).append(","); } String result = builder.append(ary[ary.length-1]).toString();
まとめ
こんな簡単な問題でもいろんな書き方があるね。「誰が書いても同じレベルに」っていうのを目指すって無理なんじゃないの。。と言いつつ、やっぱそこを意識して実際のプロジェクトでは無難そうな回答1で書くかなぁ。ちなみに今回出した僕の回答は3です。意図的にif文を避けてみました。
最後はおきまりの、、、rubyで書くとこうなりますシリーズで。
result = %w[dog cat pig].join(",")
トラックバック - http://d.hatena.ne.jp/mtoyoshi/20080717/1216299220
リンク元
- 7 http://d.hatena.ne.jp/
- 7 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=linux+ディレクトリ 表示&btnG=検索&lr=lang_ja
- 4 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLJ,GGLJ:2006-43,GGLJ:ja&q=javascript+文字列+isempty
- 3 http://d.hatena.ne.jp/keyworddiary/Ruby
- 3 http://www.google.co.jp/search?hl=ja&client=firefox&rls=org.mozilla:ja:official&hs=jDk&q=perl+コマンド 実行&btnG=検索&lr=lang_ja
- 3 http://www.google.co.jp/search?hl=ja&q=ユーザーコントロール+移動可能&lr=
- 3 http://www.google.co.jp/search?q=+ruby+既存classを&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a
- 2 http://ezsch.ezweb.ne.jp/search/?sr=0101&query=学校では教えてくれない
- 2 http://ezsch.ezweb.ne.jp/search/ezGoogleMain.php?query=学校では教えてくれない&sr=0001
- 2 http://search.yahoo.co.jp/search?p=ファリンヌドール+京都&search_x=1&tid=top_ga1&ei=UTF-8&yuragi=off&pstart=1&fr=top_ga1&b=11&qrw=0