- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:switch分が機能しません。)
switch分が機能しないPCとは?
このQ&Aのポイント
- switch文を使用して文字列の値を判定したいが、機能しないPCがある。
- 機能しないPCでは、Cannot switch on a value of type String for source level below 1.7.のエラーメッセージが表示される。
- 機能しているPCと機能しないPCのJavaバージョンに差がある。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
JavaのSwitch文ではStringはつかえない仕様なので旧バージョンでエラーが出ないのはチェック漏れでは?
その他の回答 (2)
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.3
「eclipseで機能しない」ってどういう意味なんでしょうか? 「Eclipse でなければちゃんと動作する」んですか?
質問者
補足
使用環境を説明しただけになります。
- OKWavex
- ベストアンサー率22% (1222/5383)
回答No.1
原因は表示されたとおり int値または enum定数のみが許可されているからStringはつかえない
質問者
補足
アドバイスありがとうございます。 たしかにエラーメッセージ通りで OKWavex様のおっしゃる通りだと思いますが 機能してるPCでまったく同じソースを記述して 結果が出るのはなぜなのでしょう。 作業を別のPCでやる場合があるので解決したいのですが・・・
お礼
string型で宣言してあるので 結果を出したい部分の配列だけを 下記のソースのように stringからintに戻して 解決致しました。 調べるきっかけとなる アドバイスどうもありがとうございました。 int lot = Integer.valueOf(収録状況表示).intValue(); switch (lot) { case 1: out.print("収録!"); break; case 2: out.print("未収録!"); break; default: out.print(" "); break;}
補足
ご回答ありがとうございます。 原因が分かればいいのですが チェック漏れかは分かりません。 少ない条件であればif文で代用できるのですが 条件が多い場合Switch文の方が楽なのかと・・・