Как я могу получить доступ к переменной вне оператора if в Java - PullRequest
1 голос
/ 28 декабря 2010

Я определил переменную внутри оператора if, и сейчас пытаюсь получить доступ к ней вне этого оператора if.теперь ошибка говорит о том, что он не может найти символ, потому что он определяется как переменная intance, есть ли способ, которым я могу изменить его, чтобы получить доступ к нему вне переменной?вот код

if((e.getSource()==userOrder2)&& (orderType==1))
{
     String buyO= userOrder2.getText();
     int buyOrder= Integer.parseInt(buyO); //variable im trying to access
}

// trying to use buyOrder in a different if statement
if(orderType==1 && (stockPrice <= buyOrder))
{
     orderResult.setText("The Stock" + (stockName2.getText()) + "was bought at" + stockPrice);
}

Ответы [ 4 ]

3 голосов
/ 28 декабря 2010

Использование можно использовать как

 int buyOrder= 0;
 if((e.getSource()==userOrder2)&& (orderType==1)){
     String buyO= userOrder2.getText();
     buyOrder= Integer.parseInt(buyO);
 }
 if(orderType==1 && (stockPrice <= buyOrder))

Java использует локальные переменные уровня block level. Переменная должна быть объявлена ​​в области видимости, которая является общей для всех мест, где вы хотите ее использовать.

В вашем случае переменная область действия переменной buyOrder ограничена блоком if((e.getSource()==userOrder2)&& (orderType==1)){...}, поэтому она недоступна вне блока if. Здесь нам нужно объявить переменную вне if((e.getSource()==userOrder2)&& (orderType==1)){...}, чтобы к ней можно было обращаться за пределы блока.

1 голос
/ 28 декабря 2010

Объявите его вне (перед) оператора if.

0 голосов
/ 28 декабря 2010
boolean trouble = true;

int buyOrder;
if((e.getSource()==userOrder2)&& (orderType==1)) {
    String buyO= userOrder2.getText();
    buyOrder= Integer.parseInt(buyO); //variable im trying to access
    trouble = false;
}

if(orderType==1 && (stockPrice <= buyOrder)) {
 if (!trouble) {
  //Do what you need.
 } else {
  //Bail out.
 }
}
0 голосов
/ 28 декабря 2010

Объявить вне оператора if.

int buyOrder;
if((e.getSource()==userOrder2)&& (orderType==1))
{
    String buyO= userOrder2.getText();
        buyOrder= Integer.parseInt(buyO); //variable im trying to access
}

  if(orderType==1 && (stockPrice <= buyOrder))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...