如何使用Switch案例在Java中

时间:2012-01-09 05:07:38

标签: java

我正在使用Neatbeans 7.0进行Java编程。我已经写了一个Switch案例来选择程序。

switch(menu)
        {
            case 1:
            {
                //stmt
            }
            default:
            {
                //stmt
                return;
            }
        }

我在switch(menu)

收到编译时错误
The Error is "strings in switch are not supported in -source 1.6
  (use -source 7 or higher to enable strings in switch)

(Alt-Enter显示提示)“任何人都可以帮助我。

5 个答案:

答案 0 :(得分:4)

Java SE 7支持switch语句中的字符串大小写,但在以前版本的Java中不支持。您需要使用Java 7进行编译。

答案 1 :(得分:2)

菜单类型是代码中的String。如果你有JDK 1.6,那么switch表达式类型应该是int或char。

您需要更改project properties

  1. 来源:来源/二进制格式:JDK7
  2. 图书馆:JDK1.7

答案 2 :(得分:2)

我假设menu是一个字符串类型,尽管它与你的case语句不匹配。在Java 7中添加了允许在switch语句中使用字符串。

您可以切换到Java 7并修复case,以便检查字符串而不是整数1,或将menu转换为整数并检查,如此与Integer.ParseInt()一样,如:

String menu = "1";
int menuint;
try {
    menuint = Integer.ParseInt (menu);
} catch (NumberFormatException e) {
    menuint = -1;
}
switch (menuint) {
   :

答案 3 :(得分:1)

  

开关使用byte,short,char和int原始数据类型。

在Java-6之前不支持String。 Java 7在switch-case中支持String对象。

  

在Java SE 7及更高版本中,您可以在switch语句的表达式中使用String对象。

在此处阅读更多内容:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html

答案 4 :(得分:0)

我认为应该是:

case "1":

...