2011-02-28 115 views
1

我有這個if語句以及訪問axeMinDmg的內容。我如何將它設置爲一個全局變量,以便我可以在if語句中訪問它。另外,如何將minDmg設置爲全局變量,以便我可以訪問if語句之外。謝謝如何在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  
+0

全局變量通常被稱爲類級變量。 – asgs 2011-02-28 18:28:41

+0

有關Java中可用變量類型的概述,請參見[我對類似問題的回答](http://stackoverflow.com/questions/4909901/java-only-allowing-global-variables-to-be-static/4910050#4910050)。 – 2011-02-28 19:39:13

回答

1

全局變量在Java中確實不存在。你可以創建一個類的公共靜態最終成員,該成員將在同一範圍內的類入店(如果到處公衆)

public class MyClass { 

    public static final int axeMinDmg = 20; 

可以從任何地方被用作MyClass.axeMinDmg。

另一種方式可能是去Enum

+0

對不起,axeMinDmg和minDmg都是整數。這會有所作爲 – earnest 2011-02-28 18:34:40

+0

作爲所有成員你必須聲明的類型字符串,int,Double,Object,ArrayList,不管。 – PeterMmm 2011-02-28 18:39:53

0

你可以在你的類的開始初始化它,所以if語句將被包含在它的作用域中。

+0

這是我可以試圖訪問的if語句 – earnest 2011-02-28 18:43:17

1

你可以聲明和初始化它

if (condition) { 
} 

塊外。這將允許你在if中使用它。

例如

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

希望我按照預期回答您的問題。