Java循环语句之商场购物

hello 小伙伴们 这么长时间没有更新想我了吗
在这里插入图片描述
同学:这还用说
我:在这里插入图片描述

所以这次我也是给大家带来了一道编程题(建议大家先自己做,再看代码)

这一道题结合了商场的实际情况优惠打折 有无会员卡 和给顾客找零,废话不多说,直接开lo

小派去超市购物,购买了苹果和书包。恰逢超市搞活动,如果总花费超过500元(含500元)则给打八折。请输入购买苹果和书包的单价和数量,并计算出购买商品的总价,有会员卡打九折(会员卡与打折可叠加),并实现找零功能,。

难度:★★★☆

import java.util.Scanner;
public class john {
    public static void main(String[] args) {
        Scanner myscanner = new Scanner(System.in);
        System.out.println("请输入苹果单价");
        double appleprice = myscanner.nextDouble();
        System.out.println("请输入苹果数量");
        int applenumber = myscanner.nextInt();
        System.out.println("请输入书包单价");
        double bagprice = myscanner.nextDouble();
        System.out.println("请输入书包的数量");
        int bagnumber = myscanner.nextInt();
        double total = appleprice * applenumber + bagprice * bagnumber;
        System.out.println("有无会员卡(输入1/0)");
        int Vipcard = myscanner.nextInt();
        if (total > 0) {//共有四种情况
            if (Vipcard == 1 && total >= 500) {//第一种 有会员卡并且消费超过500
                total = (total = total * 0.8) * 0.9;
                System.out.println("您一共需要花费" + total + "元");
            } else if (Vipcard == 1 && total < 500) {//第二种 有会员卡但是消费没有超过500
                total = total * 0.9;
                System.out.println("您一共需要花费" + total + "元");
            } else if (Vipcard == 0 && total >= 500) {//第三种 没有会员卡但是消费超过500
                total = total * 0.8;
                System.out.println("您一共需要花费" + total + "元");
            } else {//第四种 没有会员卡并且消费也没有超过500
                System.out.println("您一共需要花费" + total + "元");
            }
        }
        System.out.println("输入人民币");
        double loosechange = myscanner.nextDouble();//零钱
        loosechange = loosechange - total;
        if (loosechange > 0) {
            System.out.println("找回零钱" + loosechange);
        }
        while (loosechange < 0) {
            System.out.println("余额不够还需" + String.format("%.2f",Math.abs(loosechange))+"元");
            System.out.println("请再次输入人民币");
            double rmb = myscanner.nextDouble();
            loosechange = rmb - Math.abs(loosechange);
            if(loosechange>0){
                System.out.println("找回零钱" + String.format("%.2f",loosechange)+"元");
            }
        }
        System.out.println("本次消费结束");
    }
}

这道题总体来说不太难,可能大家难的点就是不知道该做哪一步,或者看到代码这么多有点慌,感觉很难,编程其实就是日积月累的过程,扎实的把基础打好,学后面的东西就会一遍过或者两遍过。切记不要好高骛远,感觉这道题我看会了我就不去写,实际上动手写你写不出来什么,一定要多做多练。
好啦,有不懂同学可以评论区告诉我,这一期的分享就到这里啦,伙伙们再见
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值