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