有人可以告诉我我的代码有什么问题(第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行出了什么问题?我该如何解决?
谢谢
答案 0 :(得分:1)
错误告诉您它正在寻找int
,但您提供了String
。 Java增加了对在版本7中切换String
的支持,因此请确保您拥有该版本。我不完全确定如何在OSX上检查你的java版本,但在Windows上输入java -version
到命令提示符。