Java 如何获得识别大写和小写字符的开关?
我试图使用一个带有字符的开关作为表达式。 我不断得到一个错误,我有一个重复的案件标签。我假设这是因为我有‘c’和‘c’。一个是小写,一个是大写。我以为开关是区分大小写的。 这是我的密码:Java 如何获得识别大写和小写字符的开关?,java,switch-statement,Java,Switch Statement,我试图使用一个带有字符的开关作为表达式。 我不断得到一个错误,我有一个重复的案件标签。我假设这是因为我有‘c’和‘c’。一个是小写,一个是大写。我以为开关是区分大小写的。 这是我的密码: switch(n) { case 'f': if(n == 'f') System.out.println("--" + n + "--"); else System.out.println("-----"); break; case 'e': if(n == 'e') Syste
switch(n)
{
case 'f':
if(n == 'f')
System.out.println("--" + n + "--");
else
System.out.println("-----");
break;
case 'e':
if(n == 'e')
System.out.println(" " + n + " ");
else
System.out.println(" ");
break;
case 'd':
if(n == 'd')
System.out.println("--" + n + "--");
else
System.out.println("-----");
break;
case 'c':
if(n == 'c')
System.out.println(" " + n + " ");
else
System.out.println(" ");
break;
case 'B':
if(n == 'B')
System.out.println("--" + n + "--");
else
System.out.println("-----");
break;
case 'A':
if(n == 'A')
System.out.println(" " + n + " ");
else
System.out.println(" ");
break;
case 'G':
if(n == 'G')
System.out.println("--" + n + "--");
else
System.out.println("-----");
break;
case 'F':
if(n == 'F')
System.out.println(" " + n + " ");
else
System.out.println(" ");
break;
case 'E':
if(n == 'E')
System.out.println("--" + n + "--");
else
System.out.println("-----");
break;
case 'D':
if(n == 'D')
System.out.println(" " + n + " ");
else
System.out.println(" ");
break;
case 'C':
if(n == 'C')
System.out.println("--" + n + "--");
else
System.out.println("-----");
break;
}//end switch
我希望大写c和小写c是不同的情况
如何解决此问题并使开关识别c和c是不同的?您正在切换字符“n”,我不明白您为什么要将if语句放在案例中。例如,在您的代码中,我选择了一个部分
case 'e':
if(n == 'e')
System.out.println(" " + n + " ");
else
System.out.println(" ");
break;
你看,case‘e’已经在告诉那个块,如果开关是e,这意味着你如果else是一个重复。看看我编写的一个简单代码,它运行得很好
public class MyClass {
static char choice='a';
public static void main(String args[]) {
switch(choice)
{
case 'A':
System.out.println("The big a");
break;
case 'a':
System.out.println("The small a");
break;
case 'C':
System.out.println("The Third Letter of the Alphabet");
break;
}
}
}
尝试通过删除if-else语句(如上面的“我的代码”)来编辑代码。如果你对这个答案不满意,我会给你一个不同的方法你的假设是不正确的。Java知道大写和小写的区别。您能报告您得到的确切错误吗?您的代码编译和运行没有任何问题。请发布一个。注意,如果你在每个案例结束时(或者那只是测试代码?)都要中断,那么在
案例“f”之后if(n=='f')
:
是完全没有必要的(因为它总是正确的)。@Sneftel。你是对的。我已经删除了我的答案。