Java 如何获得识别大写和小写字符的开关?

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

我试图使用一个带有字符的开关作为表达式。 我不断得到一个错误,我有一个重复的案件标签。我假设这是因为我有‘c’和‘c’。一个是小写,一个是大写。我以为开关是区分大小写的。 这是我的密码:

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。你是对的。我已经删除了我的答案。