• ベストアンサー
※ 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バージョンに差がある。

質問者が選んだベストアンサー

  • ベストアンサー
  • OKWavex
  • ベストアンサー率22% (1222/5383)
回答No.2

JavaのSwitch文ではStringはつかえない仕様なので旧バージョンでエラーが出ないのはチェック漏れでは?

yairi1106
質問者

お礼

string型で宣言してあるので 結果を出したい部分の配列だけを 下記のソースのように stringからintに戻して 解決致しました。 調べるきっかけとなる アドバイスどうもありがとうございました。 int lot = Integer.valueOf(収録状況表示).intValue(); switch (lot) { case 1: out.print("収録!"); break; case 2: out.print("未収録!"); break; default: out.print(" "); break;}

yairi1106
質問者

補足

ご回答ありがとうございます。 原因が分かればいいのですが チェック漏れかは分かりません。 少ない条件であればif文で代用できるのですが 条件が多い場合Switch文の方が楽なのかと・・・

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

「eclipseで機能しない」ってどういう意味なんでしょうか? 「Eclipse でなければちゃんと動作する」んですか?

yairi1106
質問者

補足

使用環境を説明しただけになります。

  • OKWavex
  • ベストアンサー率22% (1222/5383)
回答No.1

原因は表示されたとおり int値または enum定数のみが許可されているからStringはつかえない

yairi1106
質問者

補足

アドバイスありがとうございます。 たしかにエラーメッセージ通りで OKWavex様のおっしゃる通りだと思いますが 機能してるPCでまったく同じソースを記述して 結果が出るのはなぜなのでしょう。 作業を別のPCでやる場合があるので解決したいのですが・・・

関連するQ&A