Java 如何突破do-while语句中的if语句

Java 如何突破do-while语句中的if语句,java,android,if-statement,Java,Android,If Statement,我正在制作一个游戏,我希望在score.setText(String.valueOf(gscore+))之后执行if语句中的所有语句后,游戏中断并继续执行do while语句以再次执行gameplay(),但如何在score.setText(String.valueOf(gscore+“”)之后获得重新运行的方法执行部分代码。休息;给我一个错误 protected void gamePlay(){ do{ tgc.setY(tblc.getY()); tbc.setY(tblc.

我正在制作一个游戏,我希望在
score.setText(String.valueOf(gscore+))之后执行if语句中的所有语句后,游戏中断
并继续执行do while语句以再次执行
gameplay()
,但如何在
score.setText(String.valueOf(gscore+“”)之后获得重新运行的方法执行部分代码。休息;给我一个错误

protected void gamePlay(){
do{
    tgc.setY(tblc.getY());
    tbc.setY(tblc.getY());
    trc.setY(tblc.getY());
    tyc.setY(tblc.getY());


    x = (int)(Math.random()*(4) );

    if(x == 0){
        tbc.setVisibility(View.VISIBLE);
    }
    else if(x == 1){
        tgc.setVisibility(View.VISIBLE);
    }
    else if(x == 2){
        trc.setVisibility(View.VISIBLE);
    }
    else if(x == 3){
        tyc.setVisibility(View.VISIBLE);
    }
    rLayout.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            if(x == 0){

                if(tbc.getY() < bc.getY()+50 && tbc.getY() > bc.getY()-50){
                    gscore = gscore+1;
                    score.setText(String.valueOf(gscore +""));

                }
                else{
                    gameLost();
                }
            }
            else if(x==1)
                if(tbc.getY() < gc.getY()+50 && tbc.getY() > gc.getY()-50){
                    gscore = gscore+1;
                    score.setText(String.valueOf(gscore+"" ));

                }
                else{
                    gameLost();

                }
            else if(x==2)
                if(tbc.getY() < rc.getY()+50 && tbc.getY() > rc.getY()-50){
                    gscore = gscore+1;
                    score.setText(String.valueOf(gscore +""));



                }
                else{
                    gameLost();

                }
            else if(x==3)
                if(tbc.getY() < yc.getY()+50 && tbc.getY() > yc.getY()-50){
                    gscore = gscore+1;
                    score.setText(String.valueOf(gscore +""));



                }
                else{
                    gameLost();
                }
        }
    });
}while(checkGameLost()==false);
}
protectedvoid gamePlay(){
做{
tgc.setY(tblc.getY());
tbc.setY(tblc.getY());
trc.setY(tblc.getY());
tyc.setY(tblc.getY());
x=(int)(Math.random()*(4));
如果(x==0){
tbc.setVisibility(视图可见);
}
else如果(x==1){
设置可见性(View.VISIBLE);
}
else如果(x==2){
trc.setVisibility(视图可见);
}
else如果(x==3){
tyc.setVisibility(视图可见);
}
rLayout.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
如果(x==0){
if(tbc.getY()bc.getY()-50){
gscore=gscore+1;
score.setText(String.valueOf(gscore+);
}
否则{
gameLost();
}
}
else如果(x==1)
if(tbc.getY()gc.getY()-50){
gscore=gscore+1;
score.setText(String.valueOf(gscore+);
}
否则{
gameLost();
}
else如果(x==2)
if(tbc.getY()rc.getY()-50){
gscore=gscore+1;
score.setText(String.valueOf(gscore+);
}
否则{
gameLost();
}
else如果(x==3)
if(tbc.getY()yc.getY()-50){
gscore=gscore+1;
score.setText(String.valueOf(gscore+);
}
否则{
gameLost();
}
}
});
}while(checkGameLost()==false);
}

你是先用谷歌搜索的吗?您是否发现“break”
是一个break;给我一个错误
解释错误。你可以调用
gameLost()
而不是
break
。是的,但是break不适用于if语句,我希望该方法再次运行。错误是说在开关或循环之外中断,我希望该方法从一开始就再次运行,而不是显示游戏结束。