Мне было интересно, есть ли более эффективная альтернатива, чем использование этой реализации. Я пытаюсь улучшить свои способности, и следующее действительно работает. Просто я продолжаю слышать о Брейке; как легкий выход и создает потенциальный код спагетти, который не произошел здесь, но все же.Лучше для цикла без перерыва;
public void getWoodSoldRecently(){
Calendar cal = Calendar.getInstance();
cal.add(Calendar.WEEK_OF_YEAR, -2);
for(Tree t : theTrees){
if(t.getSimpleDateSold().getTime().after(cal.getTime()) && t.getHasBeenSold()==true){
treesSold.add(t);
System.out.println(t.getTreeId() + " " + t.getTreeType());
}
else{
System.out.println("Nothing sold in the last 2 weeks");
break; //Stop the above
}
}
}
Без перерыва «Ничего не продается за последние 2 недели» выводит сумму, хранящуюся в массиве.
Вы можете разместить ссылки на которых люди в критике 'break'? –
Что с деревьями? И почему вы хотите прекратить обрабатывать остальную часть деревьев, если они не были проданы? – cHao
Цикл останавливается на первом дереве, которое не удовлетворяет тесту «дата за последние 2 недели и продано». Ты уверен? – Aubin