2016-10-18 6 views
2

나는 한 해의 각 달을 배열로 만드는 프로그램을 작성하려고합니다. 매달마다 다른 요금이 부과되며, 일부는 매월 발생하며, 일부는 몇 개월마다 만 발생합니다. 우리는 루프를 사용하여이 프로그램을 작성해야하기 때문에 "for"문을 1 개만 사용하여 여러 달 (예 : 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; 
} 

당신은 내가 2 개월의 값을 할당하기 위해 노력하고있어 어디에 문 "에 대한"두 번째는 것을 볼 수 있습니다.

코드는 그냥 "달 == 0"을 말했지만, 내가 사용 "&"또는 "& &"또는 종류의 어떤 다른 달을 포함 할 때, 나는 컴파일 오류가 발생하는 경우 잘 작동 .

죄송합니다. 이것은 바보 같은 질문 인 경우 Java에 상당히 익숙합니다. 미리 감사드립니다!

+0

을 시도하십시오. 동시에 0과 5를 같을 수는 없습니다. 그것은 당신이'달 =='을 둘 다 제공해야한다고 말하고 있습니다. – ChiefTwoPencils

+1

달 == 0 && 5. 할 수 없습니다. 달 == 0 && 월 == 5.이 경우에는 월 == 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; 
    } 
관련 문제