У меня есть задание, в котором мне нужно составить массив и распределить налог в соответствии с их доходами и в группе. Я делал это раньше, не используя массив, но это выглядит довольно сложно, так что если кто-нибудь сможет мне помочь и предоставить мнепонимание было бы очень полезно ...
Имя, возраст, налогооблагаемый доход, налоговая и налоговая группы должны храниться в массиве ArrayList (индекс 0 для налогоплательщика 1 и индекс N-1 для налогоплательщика N).Минимальный и максимальный возраст, который может быть сохранен, составляет 18 и 64 года. Минимальный и максимальный налогооблагаемый доход, который может быть сохранен, составляет 1 и 999000 долларов США.Проверка минимальных и максимальных значений должна быть сделана во время чтения возраста и налогооблагаемого дохода.Ваше приложение должно отобразить и выполнить меню со следующими параметрами.Оператор switch должен использоваться для выполнения следующих пунктов меню.1. Прочитать, проверить и сохранить данные для N налогоплательщиков 2. Рассчитать и сохранить налоговую и налоговую группу для всех налогоплательщиков 3. Показать всех налогоплательщиков 4. Показать имя и возраст всех налогоплательщиков из налоговой группы 1 5. Найти налогоплательщика по возрасту 6Сортировка и отображение налогоплательщиков 7. Выход из приложения
double income,tax;
double group1=0, group2=0, group3=0, group4=0, group5=0; //counter variables to count the number of groups
double highest_tax=0,lowest_tax=0;
for(int x=1; x<=N; x++) {
System.out.println("Enter the taxable income for employee:" + x);
Scanner sa = new Scanner(System.in);
income= sa.nextDouble();
if (income<=18200){
tax=0;
System.out.printf("The tax for employee %d is %.2f \n", x, tax);
group1++; //counter variable increments everytime the conditional is run
}
else if(income>18000 && income<37000){
tax= (income-18200)*0.19; //formula to determine the tax according to the question
System.out.printf("The tax for employee %d is %.2f \n", x, tax);
group2++;
}
else if(income>37000 && income<87000){
tax= 3572 +((income-37000)*0.325);
System.out.printf("The tax for employee %d is %.2f \n", x, tax);
group3++;
}
else if (income>87001 && income<180000 ){
tax =19822 +((income-87000)*0.37);
System.out.printf("The tax for employee %d is %.2f \n", x, tax);
group4++;
}
else {
tax= 54097+ ((income-180000)*0.45);
System.out.printf("The tax for employee %d is %.2f \n", x, tax);
group5++;
}
if(tax>highest_tax) // the formula to determine highest and lowest tax
highest_tax = tax;
if(tax==lowest_tax)
lowest_tax = tax;
}
System.out.printf("\n The highest tax %.2f \n", highest_tax);
System.out.println("\n The lowest tax is:" + lowest_tax);
System.out.println(" \n Number of People in Group 1 are : " +group1);
System.out.println(" \n Number of People in Group 5 are : " +group5);
if(group1>group5) //highest number of employees among group 1 and group 5
System.out.println("Tax group with the highest number of employees: 1 \n");
if(group1<=group5)
System.out.println("Tax group with the highest number of employees: 5 \n");
}
}