所以我在这个实验室提示中写了一个薪水计算器:
编写一个显示教师薪资计划的程序。输入是起始工资,增加百分比和计划中的年数。输出的时间表中的每一行应包含该年份的年份数和工资。
import java.util.Scanner;
public class Lab2_10
{
public static void main (String[] args)
{
// Get values
Scanner scanner = new Scanner(System.in);
System.out.print("Enter the base first year salary: ");
int first = scanner.nextInt();
System.out.println("Enter the percentage increase: ");
int percent = scanner.nextInt();
System.out.println("Enter the number of years in the schedule: ");
int years = scanner.nextInt();
// Calculate salary for each year
int total = first;
int i = 1;
int increment = percent / total * 100;
while (i <= years && years <= 25)
{
increment = percent / total * 100;
total += increment;
System.out.println(total + " " + i);
i++;
}
}
}
这就是我到目前为止所拥有的。但是,增量线似乎不起作用。当我输入40,000作为基本工资,并在20年内增加5%时,它会返回。
40000 1
40000 2
40000 3
40000 4
40000 5
40000 6
40000 7
40000 8
40000 9
40000 10
40000 11
40000 12
40000 13
40000 14
40000 15
40000 16
40000 17
40000 18
40000 19
40000 20
我知道这一年正在增加,但工资保持不变。我想知道循环或声明是否存在问题?我真的不知道如何解决它。
答案 0 :(得分:1)
您的%
计算逻辑不正确
int increment = percent / total * 100;
将其更改为
int increment = total * percent / 100.0; // note 100.0
这里有两件事。