008Java循环结构运用

需求:循环输出商品编号和购买数量,当输出n时结账,结账时计算应付金额并找零和积分

code:


//需求:循环输出商品编号和购买数量,当输出n时结账,结账时计算应付金额并找零
import java.util.Scanner;

public class test1 {
    public static void main(String[] args) {

        // 定义变量
        Scanner sc = new Scanner(System.in);

        char judge;
        double sum = 0;
        double collect;

        String prodName1 = "T恤";
        String prodName2 = "网球鞋";
        String prodName3 = "网球拍";

        double prodPrice1 = 245.0;
        double prodPrice2 = 570.0;
        double prodPrice3 = 320.0;

        // 界面
        System.out.println("请选择购买的商品编号:");
        System.out.println("================商品清单================");
        System.out.println("1、" + prodName1 + "\t" + "2、" + prodName2 + "\t" + "3、" + prodName3);
        System.out.println("=======================================" + "\n");

        // 购物输入
        do {
            System.out.println("请输入商品编号:");
            int i = sc.nextInt();
            System.out.println("请输入购买数量:");
            int j = sc.nextInt();
            switch (i) {
                case 1:
                    System.out.println("T恤¥245     " + "数量 " + j + "  合计  ¥" + 245.0 * j);
                    sum += 245.0 * j;
                    break;
                case 2:
                    System.out.println("网球鞋¥570   " + "数量 " + j + "  合计  ¥" + 570.0 * j);
                    sum += 570.0 * j;
                    break;
                case 3:
                    System.out.println("网球拍¥320   " + "数量 " + j + "  合计  ¥" + 320.0 * j);
                    sum += 320.0 * j;
                    break;
                default:
                    System.out.println("输入的商品编号有误,无此商品");
            }

            System.out.println("是否继续(y/n)");
            judge = sc.next().charAt(0);
            System.out.println(" ");

        } while (judge == 'y');

        // 购物模块结束
        // 进入计算模块

        if (judge == 'n') {

            // 折扣计算部分
            Double sale = 1.0;
            if (sum > 3000) {
                sale = 0.7;
            } else if (sum > 2000) {
                sale = 0.8;
            } else if (sum > 1000) {
                sale = 0.9;
            }

            // 输出界面
            System.out.println("折扣:  " + sale);
            System.out.println("应付金额: " + sum * sale);
            System.out.println("实付金额: ");
            collect = sc.nextDouble();

            while (collect < (sum * sale)) {
                System.out.println("您输入的金额小于应付金额,请重新输入: ");
                collect = sc.nextDouble();
            }

            System.out.println(" ");
            System.out.println("找钱: " + (collect - sum * sale));

            double point = (sum * sale / 100) * 3;
            System.out.println("恭喜您获得积分:" + String.format("%.1f", point));
            System.out.println("欢迎下次光临本店");
        }
    }
}

**

心得:
1、添加适当的注释,代码块的工整很重要
2、System.out.println会自动切换到下一行 不需要\n
**

**

不足:没有实现scanner和println在同一行,即没有实现商品数量编号的输入和文字在同一行**

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值