Мне интересно, могу ли я получить некоторую обратную связь о том, как вывести моего стража из цикла, чтобы он не учитывался как часть моего ответа.Я попытался добавить разрыв в цикл while, но он только испортил мою формулу.(То, что я пытаюсь сделать, это заставить систему распечатать все действительные записи для комиссии и предоставить общую сумму для всех записей).Спасибо
public class Commission {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
NumberFormat nf = NumberFormat.getCurrencyInstance();
int salesPeople = 0;
double baseSalary = 200;
double sales = 0;
double salesTotal = 0;
double grandTotal = 0;
while (sales != -999) {
// ask for the amount of sales
System.out.println("Enter sales amount (enter -999 to end): ");
sales = scan.nextDouble();
salesPeople = salesPeople + 1;
// do the calculations
double noCommission = 0;
double lowCommission = ((sales - 500) * .03);
double mediumCommission = ((500 * .03) + ((sales - 1000) * .05));
double highCommission = ((500 * .03) + (2000 * .05) + ((sales - 3000) * .08));
double commission = 0;
if (sales < 500)
commission = noCommission;
else if (sales > 500 && sales < 1000)
commission = lowCommission;
else if (sales > 1000 && sales < 3000)
commission = mediumCommission;
else if (sales >= 3000)
commission = highCommission;
salesTotal = baseSalary + commission;
grandTotal = grandTotal + salesTotal;
System.out.println("You earned " + nf.format(commission)
+ " in commission for a total $" + salesTotal
+ " salary.\n");
}
if (sales == -999){
System.out.println("The number of employees is " + salesPeople
+ " and the total payout is " + grandTotal);
}
}
}