2015-02-10 3 views
-2
class SwitchDemo 
{ 
    public static void main(String ar[]) 
    { 
     String name="aeiouuu"; 
     int vo=0,co=0; 
     char c[]=name.toCharArray(); 
     for(int i=0;i<name.length();i++) 
     { 
      switch(c[i]) 
      { 
       case 'a':case 'e':case 'i':case 'o':case 'u': 
       vo++; 

       default : 
       co++; 
       System.out.println("co"); 
       break; 
      } 

     } 
     System.out.println("Number of vowels are : "+vo); 
     System.out.println("Number of consonants are : "+co); 
    } 
} 

Выход программыОбъясните программу корпуса коммутатора?

Number of vowels are : 7 
Number of consonants are : 7 

, но я не могу понять эту программу, потому что все гласные, как это возможно?

+6

Потому что первая часть 'switch' не имеет' break'. –

+0

Вам нужно добавить перерыв – Anto

+1

http://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html –

ответ

5

Это может сделать немного больше смысла, если вы пишете как

   case 'a': 
       case 'e': 
       case 'i': 
       case 'o': 
       case 'u': 
        vo++; 

       default : 
        co++; 
        System.out.println("co"); 
        break; 

А потом считают, что оценки switch о том, чтобы найти первое соответствие case, а затем, чтобы продолжать работать, пока либо в конце блока или заявление о разрыве.

Так что происходит в вашем коде, что вы увеличиваете vo, а затем продолжаете оценивать код и приращение co. Чтобы этого не было, вам, вероятно, следует сначала нажать на него break. Возможно, что-то вроде

   case 'a': 
       case 'e': 
       case 'i': 
       case 'o': 
       case 'u': 
        vo++; 
        break; 

       default : 
        co++; 
        System.out.println("co"); 
        break; 
4

Вы отсутствующее заявление перерыва:

case 'a':case 'e':case 'i':case 'o':case 'u': 
    vo++; 
    break;//this is what you are missing 
    default : 

Если вы не предоставите перерыв, ваш случай по умолчанию и запускается на выполнение и, следовательно, увеличивает переменное сотрудничество, а также.

Смежные вопросы