Как использовать глобальную переменную в операторе if - PullRequest
1 голос
/ 28 февраля 2011

У меня есть оператор if и что для доступа к axeMinDmg. Как установить его в качестве глобальной переменной, чтобы я мог получить к нему доступ в операторе if. Кроме того, как мне установить minDmg в качестве глобальной переменной, чтобы я мог получить доступ за пределами оператора if. спасибо

   // if yes ask what weapon to purchase
   if (name.equals("yes")){
       System.out.println("Select Your Weapon \n axe \n bat \n sword : \n  ");

       Scanner wc = new Scanner(System.in);
       String weapon = wc.next();


    if(weapon.equals("axe")){
    minDmg = axeMinDmg;   
   } else {
       System.out.println();
} // close if statement    

Ответы [ 3 ]

1 голос
/ 28 февраля 2011

Вы можете объявить и инициализировать его вне блока

 if (condition) {
 }

.Это позволит вам использовать его в течение, если.

например,

 String minDmg = null; 
 String axeMinDmg = null;
 if (name.equals("yes")) { 
     ... 
 }

Надеюсь, я отвечу на ваш вопрос, как и предполагалось.

1 голос
/ 28 февраля 2011

Глобальные переменные действительно не существуют в Java. Вы можете создать публичный статический конечный член класса, и этот член будет доступен в той же области, что и класс (если он общедоступен)

public class MyClass {

  public static final int axeMinDmg = 20;

может использоваться как MyClass.axeMinDmg отовсюду.

Другим способом может быть использование Enum .

0 голосов
/ 28 февраля 2011

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

...