Java IF ELSE语法错误

时间:2013-04-05 18:06:02

标签: java

我在IF ELSE语句中遇到java语法错误。 我多次查看我的代码,但无法弄清楚是什么问题。 错误是:令牌“else”上的语法错误,删除此令牌。 我在这做错了什么?

if(androidFragment!=null)
    ft.detach(androidFragment);

if(appleFragment!=null)
    ft.detach(appleFragment);

if(berryFragment!=null)
    ft.detach(berryFragment);


if(tabId.equalsIgnoreCase("android")){

    if(androidFragment==null){      

        ft.add(R.id.realtabcontent,new AndroidFragment(), "android");                       
    }else{

        ft.attach(androidFragment);                     
    }

}else if{   

    if(appleFragment==null){

        ft.add(R.id.realtabcontent,new AppleFragment(), "apple");                       
    }else{

        ft.attach(appleFragment);               
    }

}else{  

    if(berryFragment==null){

        ft.add(R.id.realtabcontent,new BerryFragment(), "berry");                       
    }else{

        ft.attach(berryFragment);                       
    }

}

7 个答案:

答案 0 :(得分:3)

if

中没有条件
...
}else if{ /* condition missing at this if */  

    if(appleFragment==null){

        ft.add(R.id.realtabcontent,new AppleFragment(), "apple");                       
    }else{

        ft.attach(appleFragment);               
    }
}...

将其更改为您需要的,可能:

...
}else if (tabId.equalsIgnoreCase("apple")){

    if(appleFragment==null){

        ft.add(R.id.realtabcontent,new AppleFragment(), "apple");                       
    }else{

        ft.attach(appleFragment);               
    }
}...

答案 1 :(得分:1)

else只能附加一个if;这里有两个elseAppleFragmentBerryFragment

if(tabId.equalsIgnoreCase("android")){

  ...
}else{  

    ...

}else{  

    ...

}

修改

您现在拥有以下代码片段:

} else if {

您的else if需要一个条件,例如

} else if (/*another boolean condition here for AppleFragment*/) {

答案 2 :(得分:1)

你还有2个其他人

if (...) {
   ...
} else {
   ...
} else {   <--only one "else" allowed.
   ...
}

答案 3 :(得分:1)

您没有正确使用else if构造,您的代码应如下所示:

}else if(tabId.equalsIgnoreCase("apple")) {   

    if(appleFragment==null){
        ...

}else if (tabId.equalsIgnoreCase("berry")){  

    if(berryFragment==null){
        ...
}

答案 4 :(得分:0)

只允许其他人使用,如果

则使用其他人
if(condition){ ....

}else if(condition 2){ ......

}else{ ........

}

答案 5 :(得分:0)

问题在于:

else{   // Second else compilation error

    if(berryFragment==null){

        ft.add(R.id.realtabcontent,new BerryFragment(), "berry");                       
    }else{

        ft.attach(berryFragment);                       
    }

}

你不能有两个else语句。

答案 6 :(得分:-1)

我不确定你到底想做什么,但你有两个else陈述。

删除内部if语句,并留下这个shell:

if(if(tabId.equalsIgnoreCase("android")){

} else {

} else {

}

您只能有一个else条件。在这里,你有两个。