• 《哈利波特》购书最低折扣


    ·书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:

                                   本数                  折扣

                                       2                       5%

                                       3                       10%

                                       4                       20%

                                       5                       25%

    ·根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
    ·设计算法能够计算出读者购买一批书的最低价格。
    设计思想:
     首先前5本书的折扣肯定是全部买折扣最低。然后从第6本到第9本时。
      第六本:5加1
      第七本:5加2
      第八本:4加4
      第九本:5加4
     所以只需要将所需要买的书除以5之后,然后将余数加上5和这几个相比较,最特殊的自然是8本的时候,然后在计算。
    代码实现:
     
    import java.util.Scanner;
    
    public class BuyBook {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            @SuppressWarnings("resource")
            Scanner sc = new Scanner(System.in);
            System.out.println("请输入需要购买书本的数量:");
            int booknumber = sc.nextInt();
            int num=booknumber%5;//除5求余数
            double price=0;
            switch(num)
            {
            case 0://买的数量刚好为5的倍数
                price=booknumber*8*0.75;
                break;
            case 1://买的数量除5余1
                price=(booknumber-1)*8*0.75+8;
                break;
            case 2://买的数量除5余2
                price=(booknumber-2)*8*0.75+2*8*0.95;
            case 3://买的数量除5余3
                if(booknumber==3)
                {
                    price=3*8*0.9;
                }
                else
                {
                    price=(booknumber-8)*8*0.75+2*4*8*0.8;
                }
                break;
            case 4://买的数量除5余4
                price=(booknumber-4)*8*0.75+4*8*0.8;
                break;
            }
            System.out.println("购书的最低价格为"+price);
        }
    }
    实现截图:
         
     
    个人总结:
      这次作业主要是思想方法到位了就行了,找到解决的算法之后就好做了。在坐的过程中switch语句中每个case忘记加break了,所以计算出来是错的。
  • 相关阅读:
    echarts做飞线图
    git 检出项目部分目录(稀疏检出)
    nuxt.js引入客户端脚本和第三方库出现window/document/ navigator未定义问题
    防止重复发送 Ajax 请求
    利用CSS、JavaScript及Ajax实现图片预加载的三大方法
    JavaScript中this的指向问题
    掌握jQuery插件开发
    原生javascript实现图片放大镜效果
    javascript实现页面滚屏效果
    JavaScript利用闭包实现模块化
  • 原文地址:https://www.cnblogs.com/mengqimoli/p/5544205.html
Copyright © 2020-2023  润新知