如何让开关识别大小写字符?

时间:2017-12-09 20:32:22

标签: java switch-statement

我正在尝试使用带有字符的开关作为表达式。 我一直收到一个错误,我有一个重复的案例标签。我假设这是因为我有' c'和' C'。一个是小写,一个是大写。我认为switch是区分大小写的。 这是我的代码:

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不同?

1 个答案:

答案 0 :(得分:0)

你正在转换字符' n',我不知道你应该把if语句放在案例中的原因。例如,在您的代码中,我选择了一个部分

! LaTeX Error: File `beamerbasemodes.sty' not found.

Type X to quit or <RETURN> to proceed,
or enter new name. (Default extension: sty)

Enter file name: 
! Emergency stop.
<read *> 

l.19 

pandoc.exe: Error producing PDF
Error: pandoc document conversion failed with error 43

你看案例&#39; e&#39;已经告诉阻止,如果开关是e,这意味着你if-else是重复。看看我制作的一个简单的代码,它运行良好。

 case 'e':
if(n == 'e')
  System.out.println("  " + n + "  ");
else
  System.out.println("     ");
break;

尝试通过删除if else语句来编辑代码,就像我上面的代码一样。如果你对这个答案不满意,我将会采取不同的方法