2016-10-19 74 views

回答

4

你的問題是,你的當地變量你的方法裏面陰影靜態稅變量。

所以你的代碼更新了「內部」稅;但不是外部。

這樣:只需刪除您的方法的主體所有這些

double tax = 0; 

語句!

不過:在更好的做法是將你的方法返回該值。使用全球變量來「傳達」值沒有多大意義;當你的方法可以簡單地返回它們!所以將方法從「void」改爲「double」,並簡單地返回計算值!

再加上:你重複那些打印語句爲的原因。只要做一個打印在方法的最後!嚴重的是:只要你有兩件完全相同的代碼......以某種方式擺脫第二件代碼!

最後:永遠不要在你的代碼中使用特殊字符,例如$ for variable/method/...名字!

+0

我已經這樣做了,但現在它給了我一個錯誤: – elibretto

+0

double $$ =收入 - 稅。說稅不能解決變量 – elibretto

+2

說實話,通過一個基本的Java教程,這將是一個更好的幫助,比我們告訴你一步一步如何解決後續的錯誤做一個微小的改變後。 – SomeJavaGuy

0

因爲您正在重新聲明變量tax - 請閱讀有關scopes。將您的方法taxPayable(int income)中的每個double tax = ...更改爲僅tax

+0

非常感謝! – elibretto

+0

@elibretto歡迎 –

1
double $$ = income - tax;//here tax is using your class static variable tax, which is never changed from 0. 

要調試..更改您的類變量爲1000而不是0作爲默認值。

在您的taxPayable()方法不要再聲明雙稅。只是使用變量而不聲明它

相關問題