2016-11-23 105 views
0

在我的代碼中,我需要打印出tax變量。這不起作用,我想我知道我爲什麼不知道該怎麼做。我需要初始化變量tax,但我不知道如何在主類中。這是我的代碼。如何打印變量

System.out.println("Enter your income!"); 
    double income = scan.nextDouble(); 

    if (income < 50000) 
    { 
     double tax = income/100; 
    } 
    else if (income < 75000) 
    { 
     double tax = income/100 * 2; 
    } 
    else if (income < 100000) 
    { 
     double tax = income/100 * 3; 
    } 
    else if (income < 250000) 
    { 
     double tax = income/100 * 4; 
    } 
    else if (income < 500000) 
    { 
     double tax = income/100 * 5; 
    } 
    else if (income > 500000) 
    { 
     double tax = income/100 * 6; 
    } 
+0

爲什麼不用taged java? –

+0

'tax'只存在於聲明的塊中('if'語句)。你將不得不在你的'if'之外聲明它,只需在'if'中給它賦予適當的值。 – Gavin

+0

您需要定義變量以外的變量if勺 –

回答

1
double tax = 0.0; 

此行應該是你的代碼的其餘部分的上方。然後在你的if語句去掉稅的申報,而是隻分配你的表情稅:

tax = income/100 * some number; 

什麼在代碼中正在發生的事情,現在是有一個不同的稅收變量對每個else if語句可你有,而且由於在Java範圍的行爲的程序只能看看它在聲明的其他內部稅收變量,例如:

if(condition){ 
    double tax = number; 
} 
else if(condition){ 
    double tax = number; 
} 
else{ 
    double tax = number; 
} 

此代碼塊類似於你有什麼。此代碼塊中的稅收變量只能在其各自的代碼塊中使用。只有花括號之間存在每個稅收變量。一旦你離開大括號該變量不再存在。它被java刪除。然後,當你到達下一個大括號,並申報納稅重新相比,這個代碼

function(){ 
    double tax = 0.0; 
    if(condition){ 
     tax = number; 
    } 
    else if(condition){ 
     tax = number; 
    } 
    else{ 
     tax = number; 
    } 
    } 

稅它是一個完全不同的變量始終是同一變量,如果在這裏聲明,因爲它的花括號之間存在該函數不僅在if語句的大括號之間,因爲它是在if語句之外聲明的。