Java 无法计算JRE7中switch语句中的字符串类

Java 无法计算JRE7中switch语句中的字符串类,java,string,switch-statement,Java,String,Switch Statement,我试图构建一个简单的程序来演示如何使用switch语句中正在计算的String类,但是我得到了一个编译错误,因为这个功能需要安装在我的计算机中的JavaSE7 第5行的错误消息:无法打开字符串类型的值。只允许使用可转换的int值或枚举常量 Eclipse是否指向JRE7?=对 是指向JDK7的环境变量=是 java-version=OK见下图。 我甚至尝试用控制台提示符编译代码。请参阅错误: 从命令行中,我看到您运行java-cp.switchDemo,而实际的类名是switchDemo。请

我试图构建一个简单的程序来演示如何使用switch语句中正在计算的String类,但是我得到了一个编译错误,因为这个功能需要安装在我的计算机中的JavaSE7

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

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

java-version=OK见下图。

我甚至尝试用控制台提示符编译代码。请参阅错误:


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

根据您的评论:


Eclipse不断返回错误消息。我现在在日食上 赫利俄斯。我会换成朱诺。多谢各位

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


主类的名称是SwitchDemo,而不是SwitchDemo。它现在可以工作,但只有当我使用cmd编译时才可以。但是Eclipse一直显示编译错误。也许我应该重新启动计算机Eclipse会不断返回错误消息。我现在在日食太阳神上。我会换成朱诺。感谢you@Rahoul不需要。我想您需要将编译器更新为JDK1.7。我的列表中没有JDK1.7。只有1.6。请查看新的屏幕截图。您必须使用较新版本的Eclipse。
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;
   }

    }
}