我正在尝试使用带有字符的开关作为表达式。 我一直收到一个错误,我有一个重复的案例标签。我假设这是因为我有' 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不同?
答案 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语句来编辑代码,就像我上面的代码一样。如果你对这个答案不满意,我将会采取不同的方法