Switch语句的Java错误

时间:2016-10-20 21:35:22

标签: java

有人可以告诉我我的代码有什么问题(第12行switch (code))吗?它不会编译。

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个错误:   Flle:/Users/JamesMacBook/Downloads/Solutions_ReviewExercises/Switch.java [line:12]
  错误:/Users/JamesMacBook/Downloads/Solutions_ReviewExercises/Switch.java:12:不兼容的类型
  发现:java.lang.String
  required:int

第12行出了什么问题?我该如何解决?

谢谢

1 个答案:

答案 0 :(得分:1)

错误告诉您它正在寻找int,但您提供了String。 Java增加了对在版本7中切换String的支持,因此请确保您拥有该版本。我不完全确定如何在OSX上检查你的java版本,但在Windows上输入java -version到命令提示符。