2014-03-01 49 views
1
if (difficulty.equals("easy")) { 
    System.out.println("Setting stats to " + difficulty); 
    int food = 3000; 
    int foodperson = 5; 
    int energy = 0; 
    int hulltotal = 5000; 
    int hullhealth = 5000; 
    int enemy1basehealth = 10; 
    int enemy1basedamage = 1; 
    int daystillevents = 80; 
} 

System.out.println("food: " + food); 

當您嘗試打印食物變量時,則會出現錯誤。你如何做到這一點,以便當你試圖打印它,它會成功打印正確的信息?如何在if語句中定義變量並在該語句之外使用它們?

+0

你不行。如果該「if」沒有執行,該怎麼辦?那麼最後一個'println'應該打印什麼? – emlai

回答

1

在if語句之外定義它們。

int food = 0; 
int foodperson = 0; 
int energy = 0; 
int hulltotal = 0; 
int hullhealth = 0; 
int enemy1basehealth = 0; 
int enemy1basedamage = 0; 
int daystillevents = 0; 

if(difficulty.equals("easy")){ 
    System.out.println("Setting stats to " + difficulty); 
    food = 3000; 
    foodperson = 5; 
    energy = 0; 
    hulltotal = 5000; 
    hullhealth = 5000; 
    enemy1basehealth = 10; 
    enemy1basedamage = 1; 
    daystillevents = 80; 
} 
System.out.println("food: " + food); 
1

你不能。一個變量只能在其定義的範圍內使用。

但是,您確實有幾個選項。您可以在if語句內打印。

if(difficulty.equals("easy")){ 
    System.out.println("Setting stats to " + difficulty); 
    int food = 3000; 
    int foodperson = 5; 
    int energy = 0; 
    int hulltotal = 5000; 
    int hullhealth = 5000; 
    int enemy1basehealth = 10; 
    int enemy1basedamage = 1; 
    int daystillevents = 80; 

    System.out.println("food: " + food); 
} 

或者你可以在if語句之外定義食物。此選項更靈活,因爲您可以訪問當前範圍內的任何地方的食物,但如果您不需要,可以選擇第一個選項。在需要使用它們的範圍內定義變量通常是很好的做法。

int food = 0; 

if(difficulty.equals("easy")){ 
    System.out.println("Setting stats to " + difficulty); 
    food = 3000; 
    int foodperson = 5; 
    int energy = 0; 
    int hulltotal = 5000; 
    int hullhealth = 5000; 
    int enemy1basehealth = 10; 
    int enemy1basedamage = 1; 
    int daystillevents = 80; 
} 
System.out.println("food: " + food);