2011-02-28 223 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")) { 
    ... 
} 

希望我按照预期回答您的问题。