매개 변수로받은 금액을 취하고 화면에 선택 항목을 출력하고 백분율을 반환하는 selectFood라는 메서드를 만들려고합니다. 팁 나는 한 소수점 이하를 반올림하여 떠날 것이다.주어진 메뉴에서 목표 값보다 큰 가격을 찾는 법을 모르겠다
팁이 재귀를 통해 완료되지 않을 경우 가능한 비용이 들지만 비교하고 더 큰 것을 찾아야합니다. 가되는 외에 도와주세요
public static void selectFood(double money){
/*String[]menu={"Bandera Pizza Bread","Boston's Pizza Bread","Garlic Twist Bread","Single Order",
"Sun-Dried Tomato Bruschetta","Three Cheese Toast","Double Order wings","Starter Size wings",
"Cactus Nachos","Baked Ravioli Bites","Southwest Quesadilla"};
*/
double[]itemCost={6.49,5.35,7.49,5.35,6.99,6.35,16.49,8.99,10.29,8.49,9.25};
possibilities(itemCost.length,"",itemCost,money);
//selectFood(n,itemCost,0);
}
public static void possibilities(int length,String sofar,double[]itemCost,double money){
if(length==0){
//selectFood(sofar,itemCost,money,0);
float totCost=0;
double target=money/1.15;
double minTip=money-target;
char[]sofarList=sofar.toCharArray();
for(int i=0;i<sofarList.length;i++){
if(sofarList[i]=='1'){
totCost+=itemCost[i];
}
}
if(totCost<target){
System.out.println(totCost);
}
}
else{
possibilities(length-1,sofar+"0",itemCost,money);
possibilities(length-1,sofar+"1",itemCost,money);
}
}
는 지금은 (당신은 아마 당신의 방법이 다시
0.0
8.49 6.35 6.99 5.35 7.49 5.35 6.49
ps 목록을 사용할 수 없습니다. – Collin
그래서 ** 선택 항목 중 ** 항목 하나를 원합니다. 즉, 여전히 구입할 수있는 가격이 가장 비쌉니까? 또는 당신이 아직도 가질 여유가있는 가장 비싼 선택 품목의 ** 조합 **을 원하십니까? –
첫 번째 질문이 옳기 때문에 전반적으로 8.49면 돌아가고 싶습니다. – Collin