【案例二】小明都可以买什么

【案例二】小明都可以买什么

编写一个智能购物计算小程序,在一家商店有书本、铅笔、橡皮、可乐、零食5种零食商品商品价格如表商品名称 价格

商品名称价格(元)
书本12
铅笔1
橡皮2
可乐3
零食5

假如小明带了20元,且必须购买一本书,剩余的钱还可以购买那种商品,可以购买几件,购买完还剩余多少钱?

package com.powershow.xiaoming;

import java.util.Scanner;

public class Shopping {
    //剩余金钱
    static int residue = 0;
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //开始拥有金钱
        int capital = 20;
        //商品价格
        int book = 12;
        int pencil = 1;
        int eraser = 2;
        int coke = 3;
        int snacks = 5;
        System.out.println("-------欢迎来到购物中心-------");
        System.out.println("1.书本价格"+book+"元\n"+"2.铅笔价格"+pencil+"元\n"+
                "3.橡皮价格"+eraser+"元\n"+"4.可乐价格"+coke+"元\n"+"5.零食价格"+snacks+"元");
        String choose = "1";
        while(choose.equals("1")){
            System.out.println("请输入您要购买的商品序号");
            int id = sc.nextInt();

            switch (id){
                case 1:
                    System.out.println("书本的价格为"+book+"元,请输入您要购买的数量");
                    int number = sc.nextInt();
                    if (number*book>20){
                        System.out.println("对不起,您的余额不足");
                        continue;
                    }
                    residue = capital - book*number;
                    System.out.println("已购买书本一件,剩余金额为"+residue+"元");
                    System.out.println("是否继续购买(是---1/否---2)");
                    choose = sc.next();
                    break;
                case 2:
                    System.out.println("铅笔的价格为"+pencil+"元,请输入您要购买的数量");
                    int number1 = sc.nextInt();
                    if (number1*pencil>residue){
                        System.out.println("对不起,您的余额不足");
                        continue;
                    }
                    residue = residue - pencil*number1;
                    System.out.println("已购买铅笔"+number1+"只"+"剩余金额为"+residue+"元");
                    System.out.println("是否继续购买(是---1/否---2)");
                    choose = sc.next();
                    break;
                case 3:
                    System.out.println("橡皮的价格为"+eraser+"元,请输入您要购买的数量");
                    int number2 = sc.nextInt();
                    if (number2*eraser>residue){
                        System.out.println("对不起,您的余额不足");
                        continue;
                    }
                    residue = residue - eraser*number2;
                    System.out.println("已购买铅笔"+number2+"个"+"剩余金额为"+residue+"元");
                    System.out.println("是否继续购买(是---1/否---2)");
                    choose = sc.next();
                    break;
                case 4:
                    System.out.println("可乐的价格为"+coke+"元,请输入您要购买的数量");
                    int number3 = sc.nextInt();
                    if (number3*coke>residue){
                        System.out.println("对不起,您的余额不足");
                        continue;
                    }
                    residue = residue - coke*number3;
                    System.out.println("已购买可乐"+number3+"瓶"+"剩余金额为"+residue+"元");
                    System.out.println("是否继续购买(是---1/否---2)");
                    choose = sc.next();
                    break;
                case 5:
                    System.out.println("零食的价格为"+snacks+"元,请输入您要购买的数量");
                    int number4 = sc.nextInt();
                    if (number4*snacks>residue){
                        System.out.println("对不起,您的余额不足");
                        continue;
                    }
                    residue = residue - snacks*number4;
                    System.out.println("已购买铅笔"+number4+"元"+"剩余金额为"+residue+"元");
                    System.out.println("是否继续购买(是---1/否---2)");
                    choose = sc.next();
                    break;
                default:
                    System.out.println("对不起,没有该商品");
                    break;
            }
        }
    }
}

希望可以多交流,谢谢点赞,三连谢谢大家!!!!!!!!!!!