すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

Javaについての質問です。

Switch文を使用したいのですが
case文に割り当てられるのは定数だけですよね。

C言語だったら、define切ってプリプロセスで処理させてしまえば
定数になっているのでcase文に使用できるのですが
Javaにはプリプロセスはないので
代わりに何か…と思って探しているのですが
良い案が見つかりません。

if文で延々書いていくのも、よい書き方だとは思えないので
できればswitch文を使用したいと思ってます。

よろしくお願いします。

  • 質問者:Togo
  • 質問日時:2009-04-15 22:40:23
  • 0

enum 列挙型を使う方法はどうでしょう。switch文の例題でよく見かけます。

記述例

enum OStan {
WIN95, WIN98, WINME, WIN2K, WINXP
}
class Test {
public static String getOStan(OStan ostan) {
switch(ostan) {
case WIN95:
return "一途な、女ですから";
case WIN98:
return "ボクだって、やる時はやる女だよ";
case WINME:
return "壊れる、女ですから";
case WIN2K:
return "頼れる、女ですから";
case WINXP:
return "おせっかいな、女ですから";
}
return null;
}
public static void main(String args[]) {
for(OStan obj : OStan.values()) {
System.out.println(obj + "=" + getOStan(obj));
}
}
}

のようにint、short、byte、char型以外にenum 型がいつからだったかわかりませんが使えるようになっています。

  • 回答者:SunSun (質問から2時間後)
  • 0
この回答の満足度
  
参考になり、満足しました。回答ありがとうございました。
お礼コメント

enumですか。
一度やってみます。ありがとうございます。

関連する質問・相談

Sooda!からのお知らせ

一覧を見る