-4

我正在尝试构建一个简单的程序来演示如何使用在 switch 语句中评估的 String 类,但我收到了编译错误,因为此功能需要 Java SE 7(我的计算机中安装了 wish)。

第 5 行的错误消息:无法打开 String 类型的值。只允许可转换的 int 值或枚举常量

Eclipse 是否指向 JRE7 ?= 是的。环境变量是否指向 JDK7 =YES 。

java -version = OK(见下图)。 在此处输入图像描述

我什至尝试使用控制台提示符编译代码。查看错误: 在此处输入图像描述

import javax.swing.JOptionPane;

public class SwitchDemo {
    public static void main(String[] args) {

        String name = "georges";

        switch (name.toLowerCase()) {


        case "Jhon":
            JOptionPane.showMessageDialog(null, "Good morning, Jhon!");
         break;
      case "georges":
             JOptionPane.showMessageDialog(null, "How's it going, georges?");
         break;
      case "sergei":
             JOptionPane.showMessageDialog(null, "sergei, my old sergei!");
          break;
      case "Steph":
             JOptionPane.showMessageDialog(null, "Afternoon lennert, how's the Steph?");
          break;
      default:
             JOptionPane.showMessageDialog(null, "Pleased to meet you, xxxxxx.");
           break;
   }

    }
}

在此处输入图像描述

4

1 回答 1

8

从你的命令行我看到你在运行java -cp .switchDemo,而你的实际类名是SwitchDemo。请注意,Java 区分大小写,因此SwitchDemo != switchDemo.

从您的评论中:

Eclipse 不断返回错误消息。我目前正在使用 Eclipse Helios。我会切换到朱诺。谢谢

您必须在 Eclipse 中将编译器更改为 1.7:

在此处输入图像描述

于 2013-05-28T10:40:20.997 回答