Java 计算工资总额

Java 计算工资总额,java,type-conversion,Java,Type Conversion,我有一个问题,我正在努力解决 在公司中,员工的薪酬如下所示: 如果他的基本工资低于1500卢比,则HRA=基本工资的10%,DA=基本工资的90%。 如果他的工资等于或高于1500卢比,则HRA=500卢比,DA=基本工资的98%。如果输入了员工的工资,则编写一个程序以查找其总工资 输入 三, 1203 10042 1312 预期产出 2406 20383.2 2624 实际产出 1.5668931843000004E8 1957980000000003 2.0325629952E8 Java代

我有一个问题,我正在努力解决

在公司中,员工的薪酬如下所示: 如果他的基本工资低于1500卢比,则HRA=基本工资的10%,DA=基本工资的90%。 如果他的工资等于或高于1500卢比,则HRA=500卢比,DA=基本工资的98%。如果输入了员工的工资,则编写一个程序以查找其总工资

输入

三,

1203

10042

1312

预期产出

2406

20383.2

2624

实际产出

1.5668931843000004E8

1957980000000003

2.0325629952E8

Java代码

class salary {
    public static void main(String[] args) throws java.lang.Exception {
        // your code goes here
        int testNum;
        int[] testCases;

        Scanner in = new Scanner(System. in );
        testNum = in .nextInt();

        testCases = new int[testNum];

        int i = 0;

        while ( in .hasNextInt()) {
            testCases[i] = in .nextInt();
            //System.out.println(testCases[i]);
            salary(testCases[i]);
            i++;
        }
    }

    public static double salary(double n) {
        double tsal = 1; // this  will be the result
        double hra;
        double da;
        if (n < 1500) {
            hra = 0.1 * n;
            da = 0.9 * n;
            tsal = n + hra + da;
        }
        if (n >= 1500) {
            hra = 500;
            da = 0.9 * n;
            tsal = n + hra + da;
        }

        System.out.println(Math.round(tsal));
        return tsal;
    }

}

我仍然没有得到想要的输出。知道如何将双精度值四舍五入到小数点后1位吗?

更改这一行:
tsal=n*hra*da至<代码>tsal=n+hra+da

这将有助于1500人


同样,对于RS>1500,如果DA=98%,则代码
DA=0.9*n应为
da=0.98*n

tsal=n*hra*da
n*n*n*0.9*0.1
,或
n*n*n*0.09
。可能不是你想要的。
 "System.out.println(Math.round(tsal));"