그래, 내가 자바로 일하고있어, 나는 완전히 혼란스러워. 나는과 같은 코드가이Java for 루프가 루프 외부에서 변수를 설정하지 않는 이유는 무엇입니까?
private double computeValue(Warehouse house) {
double price;
int quant;
double value;
for (int i=0; i < house.size(); i++) {
price = house.getItem(i).getPrice();
quant = house.getItem(i).getQuantity();
value += (price*quant);
}
return value;
}
그것의 크기 횟수의 창고 항목을 읽고, 그것을 않습니다 때, 창고에서의 가격과 수량을 항목을 가져오고이를 곱 값이되기 위해 함께
이제 모든 것이 멋지지만 변수 값이 설정되지 않은 번호는 루프를 벗어날 것입니다. 그것은 값이 실행될 때 초기화되지 않았다고 말하고, 임의의 더미 숫자로 설정하면 값과 곱셈을 곱하여 얻는 것과는 반대로 그 숫자를 반환합니다. 누구든지이 문제를 해결하는 방법을 말해 줄 수 있기 때문에 변수 값이 루프에서 숫자를 가져 와서 반환 할 수있을뿐만 아니라 무엇을하고 있는지 왜 이해하는지 이해하는 데 도움이됩니다. 고맙습니다!
편집 : 나는 0 인 house.size()의 문제를 해결, 지금 10로 설정되어 여전히 초기화되지 않은 값의 오류를 반환
'house.size()'가'0'을 반환하면 어떨까요? 그렇다면 가치는 어떤 가치를 가질 것입니까? –
그게 문제 일 수 있겠습니까? 루프를 전혀 실행하지 않습니까? –
예, 루프가 실행되지 않으면 필드가 초기화되지 않습니다. 기본값을 지정하십시오. –