java算数运算符,和判断没整明白

请用户从键盘输入商品的单价和数量,定义方法,请出总价,判断,若总价大于500元,打9折,若总价大于300元,打八折,其他不打折,输出应付金额

输入单价和数量,计算总价(相乘),然后判断总价来进行打折扣。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) throws Exception {
        Scanner in=new Scanner(System.in);
        System.out.println("输入商品单价:");
        double price=in.nextDouble();
        System.out.println("输入商品数量:");
        int num=in.nextInt();
        double sum=price*num;
        if (sum>500){
            sum*=0.9;
        }else if (sum>300){
            sum*=0.8;
        }
        System.out.println("应付金额:"+sum);
    }
}

import java.math.BigDecimal;
import java.util.Scanner;

/**
 * @author wangfei
 * @version 1.0
 * @date 2022/1/19
 */
public class Money {

    public static void main(String[] args) {
        System.out.println("请输入商品的单价:");
        Scanner scanner = new Scanner(System.in);
        BigDecimal bigDecimal = scanner.nextBigDecimal();
        System.out.println("请输入商品的数量:");
        int number = scanner.nextInt();

        BigDecimal total = total(bigDecimal,number);
        if (total.compareTo(new BigDecimal(500)) >= 1) {
            total = total.multiply(new BigDecimal(0.09));
        }
        if (total.compareTo(new BigDecimal(300)) >= 1 && total.compareTo(new BigDecimal(500)) <= -1) {
            total = total.multiply(new BigDecimal(0.08));
        }

        System.out.println("应付金额为:" + total.setScale(2,BigDecimal.ROUND_UP));
    }

    public static BigDecimal total(BigDecimal bigDecimal,int number) {
        return bigDecimal.multiply(new BigDecimal(number));
    }
}

public class Test {


    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);
        System.out.println("请输入商品单价:");
        double a = input.nextDouble();
        System.out.println("请输入商品数量");
        double b = input.nextDouble();

        double sum = totalPrices(a,b);
        System.out.println("总价为:" + sum);
    }

    private static double totalPrices(double a,double b){
        double sum = a * b;
        if (sum > 500){
            sum = sum * 0.9;
        }else if (sum > 300){
            sum = sum * 0.8;
        }
        return sum;
    }
}