Еще одно утверждение внутри Switch является синтаксической ошибкой? - PullRequest
2 голосов
/ 30 марта 2012

Я получаю синтаксическую ошибку для оператора else в следующем коде:

switch(v.getId())
{
case R.id.b0 :      
    if(s.length()==1 && s.charAt(0)=='0');
    {  
    et2.setText("0");
    et1.setText("0");
    }
    else
    {
    s=s+"0";
    call(s);
    }
    break;
//2nd case and body
}

Ошибка: Syntax error on token "else", delete this token

Разве Java не позволяет это?

Должен ли я использовать вложенный переключатель?

Или что-то не так с моим кодом?

Ответы [ 3 ]

14 голосов
/ 30 марта 2012
if(s.length()==1 && s.charAt(0)=='0');

удалить ;

4 голосов
/ 30 марта 2012

Удалить ; в конце, если

Должно быть:

 if(s.length()==1 && s.charAt(0)=='0')
4 голосов
/ 30 марта 2012
if(s.length()==1 && s.charAt(0)=='0');
                                     ^ Remove this!

Вы прекращаете свое заявление if раньше, чем думаете ...

...