2017-04-09 17 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; 
} 
相關問題