간단한 응용 프로그램 요구 사항 아래 코드를 수정하려고합니다. 나는 초보자이기 때문에 때로는 profi guys 사물에 대해 분명히하기가 어렵습니다. 나는 sum + = p.price를 얻고 싶다; 두 번째 버튼을 클릭하면 결과가 두 배가되기 때문에 루프에서 빠져 나옵니다. 조건부 연산자이지만이 구문의 의미를 알 수는 없습니다 (Product p : boxAdapter.getBox()). 아마도 누군가가 설명하거나 전달한다면 이해하기 쉽습니다.루프 밖의 가치 얻기
public void showResult(View v) {
String result = "Items in the basket: ";
String sum_text = "For the sum: ";
for (Product p : boxAdapter.getBox()) {
if (p.box) {
result += "\n" + p.name + " " + p.price;
}
sum += p.price;
}
Toast.makeText(this, result, Toast.LENGTH_LONG).show();
Toast.makeText(this, sum_text + sum, Toast.LENGTH_LONG).show();
}
죄송합니다. 간단한 질문으로 불편을 끼쳐 드려 죄송합니다.
HTTP ://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html –
여기서 sum은 정의되어 있습니까? 루프 앞에 sum = 0을 할 수는 없습니까? – RNJ
for 루프의 표현식은 각 항목이 p로 표시된 항목의 모음을 반환합니다. 그런 다음 항목의 합계가 누적되어 합계에 저장됩니다. 위에서 언급했듯이 합계 변수는 루프에서 계산을 수행하기 전에 0으로 설정해야합니다. – Christian