猿问

Android-在if语句之间使用相同的变量值

我试图在这里创建我的第一个android应用程序,我偶然发现了一个问题,我需要在if-else语句之间使用变量的值。


@Override

public void onClick(View view) {

    int guess, x, y;

    String st_bot, st_top;


    if(view.getId() == R.id.btn_guess){


        st_bot = bot.getText().toString();

        st_top = top.getText().toString();

        x = Integer.parseInt(st_bot);

        y = Integer.parseInt(st_top);

        guess = (x+y)/2;

        tv_guess.setText(Integer.toString(guess));


    } else if (view.getId() == R.id.btn_bigger){


        st_bot = tv_guess.getText().toString();

        //st_top = top.getText().toString();

        guess = Integer.parseInt(st_bot);

        //y = Integer.parseInt(st_top);

        guess = (guess+y)/2;

        tv_guess.setText(Integer.toString(guess));


    } else if (view.getId() == R.id.btn_smaller){


        //st_bot = bot.getText().toString();

        st_top = tv_guess.getText().toString();

        //x = Integer.parseInt(st_bot);

        guess = Integer.parseInt(st_top);

        guess = (x+guess)/2;

        tv_guess.setText(Integer.toString(guess));

    }



}

我想从R.id.btn_guess语句传递变量x和y,以便可以在其他状态下使用先前已分配的值使用它。但是当我这样做时,x和y显示尚未初始化。


当我尝试在Java编译器(而非android)中进行设置时,可以在其他语句中使用变量,而无需重新分配它。


解决方法是什么?谢谢你。


天涯尽头无女友
浏览 184回答 3
3回答

慕的地6264312

根据您的变量名,我猜您正在实现“ Guess Big or Small”之类的游戏。您似乎想要在分支中分配x和,然后在其他两个分支中使用它们。如果这确实是您所需要的,只需将函数的声明和移到函数外部,这使它们具有更大的变量范围,并在函数第一次结束后保留它们。yview.getId() == R.id.btn_guessxy onClick
随时随地看视频慕课网APP

相关分类

Java
我要回答