2016-10-18 39 views
2

我正試圖編寫一個程序,使每年的每個月都是一個數組。每個月都有不同的收費標準,每個月都會發生一次,有些只發生在每幾個月。我們必須使用循環編寫此程序,所以我想知道如何使用1「for」語句將特定值分配給多個月(例如,1月和6月爲+ 200美元)。如何使用循環將值分配給多個數組元素?

下面是我迄今處理這個數組的代碼:

//This line creates an array for 12 months and a variable called "month" 
Double[] yearlyExpenses = new Double[12]; 
int month; 

//These lines assign values to the correct months using loops 
for (month = 0; month < yearlyExpenses.length; month++) { 
    yearlyExpenses[month] = rent + miscExpenses; 
} 
for (month = 0; month == 0 & 5; month++) { 
    yearlyExpenses[month] = yearlyExpenses[month] + 200; 
} 

你可以看到第二個「爲」的聲明就是我試圖賦值到兩個月。

的代碼工作正常,如果我只是說「一個月== 0」,但是當我嘗試使用「&」或「& &」或諸如此類的事,包括不同的月份,我得到一個編譯錯誤。

對不起,如果這是一個愚蠢的問題,我相當新的Java。提前致謝!

+0

即使它不是一個編譯器錯誤,這將是一個邏輯上的錯誤。它不能同時等於0和5。這就是說你需要爲兩者提供'month =='。 – ChiefTwoPencils

+1

你不能做month == 0 && 5.它必須是month == 0 && month == 5.在這種情況下它應該是month == 0 || month == 5 –

+1

@ d.j.brown什麼數字是**'0'和'5'? –

回答

1

你的第二個循環不會像你期望的那樣工作,而是在第一個循環中執行數學運算。喜歡的東西,

for (month = 0; month < yearlyExpenses.length; month++) { 
    yearlyExpenses[month] = rent + miscExpenses; 
    if (month == 0 || month == 5) { 
    yearlyExpenses[month] = yearlyExpenses[month] + 200; 
    } 
} 
+0

謝謝!這一個結束了最好的工作。有不同的收費適用於不同的月份,所以使用多個「if」語句完美解決! –

0

如果你只需要每月爲0和5試試這個

for (month = 0; month < 6; month+=5) { 
     yearlyExpenses[month] = yearlyExpenses[month] + 200; 
    } 
相關問題