Я работаю над проектом для школы уже пару часов и до сих пор не могу понять, что это правильно. Мне было поручено взять пользовательские данные для 3-х цен на оборудование, общего фонда и лимита остатка, а затем выяснить суммы 3-х оборудования, которое я могу купить, чтобы максимально приблизить общую стоимость к максимальному фонду, покаоставаясь внутри предела. Программа должна использовать какой-то вложенный цикл. Это то, что у меня в данный момент определенно не работает:
import java.text.DecimalFormat;
import java.util.Scanner;
public class GrandFund {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
DecimalFormat fmt = new DecimalFormat("#.##");
int amt1 = 0, amt2 = 0, amt3 = 0;
double price1, price2, price3, fund, limit, total1 = 0, total2 = 0, total3 = 0;
System.out.println("Equipment #1 Price:");
price1 = scan.nextDouble();
System.out.println("Equipment #2 Price:");
price2 = scan.nextDouble();
System.out.println("Equipment #3 Price:");
price3 = scan.nextDouble();
System.out.println("Total Fund Amount:");
fund = scan.nextDouble();
System.out.println("Remaining Fund Limit:");
limit = scan.nextDouble();
while((fund - (total1 + total2 + total3)) <= limit) {
for(amt1 = 0; price1 * amt1 <= fund; amt1++) {
total1 = price1 * amt1;
for(amt2 = 0; price2 * amt2 <= fund - total1; amt2++) {
total2 = price2 * amt2;
for(amt3 = 0; price3 * amt3 <= fund - total1 - total2; amt3++) {
total3 = price3 * amt3;
}
}
}
}
double remainder = fund - (total1 + total2 + total3);
System.out.println(fmt.format(remainder) + ", " + fmt.format(amt1) + ", " + fmt.format(amt2) + ", " + fmt.format(amt3));
scan.close();
}
}
Что-то мне не хватает? Я чувствую, что я определенно на правильном пути, но я не могу понять, где я ошибся. Любое руководство будет с благодарностью!