2017-04-09 43 views
0

下面是采取字符串“顶”我的switch语句:如何分析字符串中多于一个字符以用于切换?

switch (tops) { 

      case "m": 
       if (size.equals("m")) { 
        mb += 1.00; 
        to += "Mozzarella"; 
       } else if (size.equals("l")) { 
        lb += 1.50; 
        to += "Mozzarella"; 
       } 
       break; 

      case "o": 
       if (size.equals("m")) { 
        mb += 0.80; 
        to += "Olives"; 
       } else if (size.equals("l")) { 
        lb += 1.20; 
        to += "Olives"; 
       } 
       break; 

      case "h": 
       if (size.equals("m")) { 
        mb += 1.40; 
        to += "Ham"; 
       } else if (size.equals("l")) { 
        lb += 2.10; 
        to += "Ham"; 
       } 

       break; 
      case "p": 
       if (size.equals("m")) { 
        mb += 1.00; 
        to += "Pineapple"; 
       } else if (size.equals("l")) { 
        lb += 1.50; 
        to += "Pineapple"; 
       } 
       break; 

      case "s": 
       if (size.equals("m")) { 
        mb += 0.80; 
        to += "Spinach"; 
       } else if (size.equals("l")) { 
        lb += 1.50; 
        to += "Spinach"; 
       } 
       break; 
      default: 
       to = "default"; 
       break; 
} 

目前我的开关只从字符串anazylizing的第一个字符,而不是所有的人,看看他们是否包含了字母案例。

例如,如果我进入“MS”的上衣,我会得到正确的输出,但如果我进入“MSMH” 它不和结果违约或终止

+0

在'之开关,如果你不能做到这一点。使用'if ... else if ... else'而不是 – xhg

+2

您的示例不正确。如果字符串“tops”包含“ms”,则“m”的开关大小写不匹配。切换字符串总是比较整个字符串而不是第一个字符。 – vanje

+0

没有必要写'if'语句@aahung –

回答

0

在Java中分析一个以上的情况下,你必须把第二种情况下这相当于else if(boolean || boolean)

例如休息前:

case "B": 
case "C": 
{ 
    //CODE 
    break; 
} 
相关问题