Java if语句外部的变量访问
我试图访问java中if语句外部的变量。变量为axeMinDmg。这是我所得到的,但有一个错误。我想要Java if语句外部的变量访问,java,if-statement,Java,If Statement,我试图访问java中if语句外部的变量。变量为axeMinDmg。这是我所得到的,但有一个错误。我想要minDmg=axeMinDmg。谢谢 @SuppressWarnings("unused") public static void main(String[] args) throws IOException { int count = 1; // start both with 1 point
minDmg=axeMinDmg
。谢谢
@SuppressWarnings("unused")
public static void main(String[] args)
throws IOException
{
int count = 1;
// start both with 1 point
int goodTotal = 50;
int monTotal = 50;
// set amount of money that Goodman has
int moneyAmt = 10;
// setting array for bat
int [] bat = {2, 4, 3};
int batMinDmg = bat[0];
int batMaxDmg = bat[1];
int batCost = bat[2];
//setting array for axe
int [] axe = {4, 6, 6};
int axeMinDmg = axe[0];
int axeMaxDmg = axe[1];
int axeCost = axe[2];
//setting array for sword
int [] sword = {6, 8, 10};
int swordMinDmg = sword[0];
int swordMaxDmg = sword[1];
int swordCost = sword[2];
// ask if Goodman would like to purchase a weapon
System.out.println("Would you live to purchase a weapon (YES OR NO): ");
Scanner sc = new Scanner(System.in);
String name = sc.next();
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();
int minDmg = axeMinDmg;
if(weapon.equals("axe")){
int minDmg = axeMinDmg;
} else {
System.out.println();
} // close if statement
您需要在if语句外部定义变量,以便在if语句外部使用它。只需在if语句外部声明整数:
int minDmg;
if(weapon.equals("axe")){
minDmg = axeMinDmg;
} else {
System.out.println();
System.out.println("Can access variable: " + minDmg);
在Java中,变量是在一个范围内定义的。这里的范围是if块。因此,如果在if块之外声明它,它将在封闭的方法范围内可用。如果要在if-else块之外指定一个变量,可以使用由
:
运算符表示的变量
例如,标准if-else Java表达式:
int money;
if (shouldReceiveBonus()) {
price = 100;
}
else {
price = 50;
}
使用三元运算符相当于:
int money = shouldReceiveBonus() ? 100 : 50;
有没有一种方法可以声明全局变量来访问具有作用域的变量?我不确定我是否理解你的问题。