2016-10-20 8 views
-6

誰かが自分のコードに何が間違っているか教えていただけますか?(12行目switch (code))それはコンパイルされません。スイッチステートメントでのJavaエラー

import java.util.Scanner; 
public class Switch 
{ 
    public static void main(String [] args) 
    { 
     Scanner in = new Scanner(System.in); 
     System.out.println("please entre a province's official code abbreviation"); 
     String code = in.next(); 

     double shipCost=0.0; 

     switch (code) { 
      case"NS": case"NB":case"PE": 
       shipCost=29.95; 
       break; 
      case"NL": 
       shipCost=34.95; 
       break; 
      case"OC": case"ON": 
       shipCost=24.95; 
       break; 
      case"MB":case"SK": 
       shipCost=29.95; 
       break; 
      case"AB":case"BC": 
       shipCost=37.95; 
       break; 
      case"NU":case"NT":case"YT": 
       shipCost=39.95; 
       break; 
      default: 
       shipCost=0; 
     } 

     System.out.println("shipping cost in "+code+"is"+shipCost); 
    } 
} 

1 error found: Flle: /Users/JamesMacBook/Downloads/Solutions_ReviewExercises/Switch.java [line: 12]
Error: /Users/JamesMacBook/Downloads/Solutions_ReviewExercises/Switch.java:12: incompatible types
found : java.lang.String
required: int

は、ライン12と間違って何ですか?どうすれば修正できますか?

は、エラーが、それはintを探していますが、Stringを提供するがわかりますあなた

+1

適切な書式のテキストとして、イメージとしてではなく質問を含めてください。 – jmoerdyk

+0

これはJavaのバージョンLukeです。古いJavaのバージョンでは、文字列をスイッチで許可しません。 – fvu

+4

あなたのコードにリンクを張ってはいけません。誰かがあなたを助けようとしている場所を知っています。あなたはコードをサイトに投稿することができます –

答えて

1

ありがとうございます。 Javaでは、バージョン7でStringを切り替えるサポートが追加されています。私はOSXでJavaのバージョンを確認する方法は完全にはわかりませんが、Windowsではコマンドプロンプトにjava -versionと入力してください。

関連する問題