Java实现步枪销售佣金计算器

本文将介绍如何使用Java编写一个程序,用于计算步枪销售商的佣金。

需求描述

假设您是一位销售步枪的商家,您销售的步枪由密苏里州的制造商生产,包括枪机、枪托和枪管。

  • 枪机售价:45美元
  • 枪托售价:30美元
  • 枪管售价:25美元

您每月至少需要售出一支完整的步枪,并且存在以下生产限额:

  • 枪机:最多销售70个
  • 枪托:最多销售80个
  • 枪管:最多销售90个

您的佣金根据每月的销售额按以下规则计算:

  • 不到1000美元(含):10%
  • 1000美元(不含)到1800美元(含):15%
  • 超过1800美元:20%

您需要一个程序,可以根据当月的销售情况生成销售报告,其中包括:

  • 售出的枪机、枪托和枪管总数
  • 总销售额
  • 佣金

程序的输入应该以-1作为结束标志。

Java代码实现

import java.util.Scanner;

public class CommissionCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int riflePrice = 45;
        int stockPrice = 30;
        int barrelPrice = 25;
        int quotaRifle = 70;
        int quotaStock = 80;
        int quotaBarrel = 90;

        int totalRifle = 0;
        int totalStock = 0;
        int totalBarrel = 0;
        int totalSales = 0;
        double commission = 0;

        while (true) {
            System.out.print('请输入销售的步枪数量(输入-1结束):');
            int num = scanner.nextInt();
            if (num == -1) {
                break;
            }

            if (num > quotaRifle) {
                System.out.println('销售数量超过限额,请重新输入。');
                continue;
            }

            totalRifle += num;
            totalStock += Math.min(num, quotaStock);
            totalBarrel += Math.min(num, quotaBarrel);

            int salePrice = num * riflePrice;
            salePrice += Math.min(num, quotaStock) * stockPrice;
            salePrice += Math.min(num, quotaBarrel) * barrelPrice;

            totalSales += salePrice;
        }

        if (totalSales <= 1000) {
            commission = totalSales * 0.1;
        } else if (totalSales <= 1800) {
            commission = 1000 * 0.1 + (totalSales - 1000) * 0.15;
        } else {
            commission = 1000 * 0.1 + 800 * 0.15 + (totalSales - 1800) * 0.2;
        }

        System.out.println('月份销售报告:');
        System.out.println('售出的步枪数量:' + totalRifle);
        System.out.println('售出的枪托数量:' + totalStock);
        System.out.println('售出的枪管数量:' + totalBarrel);
        System.out.println('销售商的总销售额:' + totalSales);
        System.out.println('销售商的佣金:' + commission);

        scanner.close();
    }
}

测试用例

以下是三个测试用例及其预期结果:

测试用例 1

  • 输入:
    10
    20
    30
    -1
    
  • 预期输出:
    月份销售报告:
    售出的步枪数量:10
    售出的枪托数量:10
    售出的枪管数量:10
    销售商的总销售额:1550
    销售商的佣金:201.0
    

测试用例 2

  • 输入:
    80
    80
    90
    -1
    
  • 预期输出:
    月份销售报告:
    售出的步枪数量:70
    售出的枪托数量:80
    售出的枪管数量:80
    销售商的总销售额:5300
    销售商的佣金:726.0
    

测试用例 3

  • 输入:
    5
    -1
    
  • 预期输出:
    月份销售报告:
    售出的步枪数量:5
    售出的枪托数量:5
    售出的枪管数量:5
    销售商的总销售额:550
    销售商的佣金:55.0
    

通过运行以上测试用例,您可以验证程序的正确性。


原文地址: https://www.cveoy.top/t/topic/cr5v 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录