для части моей программы доходов, которую я делаю в качестве задания для школы, мне нужно рассчитать число, которое является суммой общего налога, причитающегося с гражданина. Мне дается в текстовом файле количество порогов, пороговое значение и скорость на каждом пороге. Примером является
Threshold Rate
$15,000 15%
$29,000 20%
$50,000 25%
Гражданин, чей чистый доход составляет 55 000 долларов, будет платить:
$ 15 000 * 0% + $ 14 000 * 15% + $ 21 000 * 20% + $ 5000 * 25% = 7550
Я начал свой метод здесь
private void computeTaxOwed(Citizen cit, TaxSchedule sked){
double netIncome = cit.getNetIncome();
double totTaxPaid = cit.getTotTaxPaid();
int levels = sked.getNumLevels();
double[] threshold = sked.getThreshold();
double[] rate = sked.getRate();
double taxOwd = 0;
for(int i = levels; i>0; i--){
taxOwd = ((netIncome-threshold[i])*rate[i]);
}
Я знаю, что это не даст правильного вывода, и я просто не могу понять, как заставить этот алгоритм работать. Если бы я мог извлечь значения обоих массивов и сохранить их каждое в отдельной переменной, я мог бы легко получить правильный вывод, но я думаю, что это очень грязно и не лучший способ сделать это.
Любые идеи будут с благодарностью!