Java【实验2-3】 超市购物小程序

案例介绍:编写一个超市购物程序,在一家超市有牙刷、毛巾、水杯、苹果和香蕉五种商品,商品价格如下表所示。

编号

商品名称

价格

1

牙刷

8.8元

2

毛巾

10.0元

3

水杯

18.8元

4

苹果

12.5元

5

香蕉

15.5元

用户输入商品序列号进行商品购买,用户输入购买数量后计算出所需要花费的钱,一次购买结束后,需要用户输入“Y”或“N”,“Y”代表继续购买,“N”代表购物结束。

案例思路: 

  1. 从运行结果可以看出,我们需要先定义5个商品的价格,double类型,再打印出5种商品的价格。
  2. 从运行结果可以看出,这里我们让用户填写购买商品的序列号以及购买的数量,需要使用到Scanner类。
  3. 从运行结果可以看出,我们循环了选择购买的条件语句,这里使用while嵌套switch语句可以达到我们的目的,我们需要使用while循环switch的选择结构,而switch是判断用户选择购买商品序列号的条件语句。

 案例实现:

public class Main {
    public static void main(String[] args) {
  	/*
  	 * 模拟商城购物小系统:1.用户选择商品后,后台计算商品价格;
  	 *                     2.使用while循环实现用户多次购买商品。
  	 */
       double toothbrush=8.8;    //牙刷价格
       double towel=10.0;        //毛巾价格
       double cup=18.8; 	     //水杯价格
       double apple=12.5;        //苹果价格
       double banana=15.5;       //香蕉价格
       int i=0;
       String a="Y";
       System.out.println("-------------黑马小商城-------------");
       System.out.println("1.牙刷的价格为:"+toothbrush+"元");
       System.out.println("2.毛巾的价格为:"+towel+"元");
       System.out.println("3.水杯的价格为:"+cup+"元");
       System.out.println("4.苹果的价格为:"+apple+"元");
       System.out.println("5.香蕉的价格为:"+banana+"元");
       while(a.equals("Y")) {
         Scanner sc1 = new Scanner(System.in);
         System.out.println("请输入你需要购买商品的序列号:");
         i=sc1.nextInt();
         switch(i){
           case 1:
            System.out.println("请输入你需要购买牙刷的数量:");
            int toothbrushnnumber=sc1.nextInt();
            double toothbrushnnum=toothbrushnnumber*toothbrush;
            System.out.println("你购买了牙刷"+toothbrushnnumber+"支,需要花费"+toothbrushnnum+"元");
            System.out.println("需要继续购买请输入Y,否则输入N");
            a=sc1.next();
            break;
           case 2:
            System.out.println("请输入你需要购买毛巾的数量:");
            int towelnumber=sc1.nextInt();
            double towelnum=towelnumber*towel;
            System.out.println("你购买了毛巾"+towelnumber+"个,需要花费"+towelnum+"元");
            System.out.println("需要继续购买请输入Y,否则输入N");
            a=sc1.next();
            break;
           case 3:
            System.out.println("请输入你需要购买水杯的数量:");
            int cupnumber=sc1.nextInt();
            double cupnum=cupnumber*cup;
            System.out.println("你购买了水杯"+cupnumber+"个,需要花费"+cupnum+"元");
            System.out.println("需要继续购买请输入Y,否则输入N");
            a=sc1.next();
            break;
           case 4:
            System.out.println("请输入你需要购买苹果的数量:");
            int applenumber=sc1.nextInt();
            double applenum=applenumber*apple;
            System.out.println("你购买了苹果"+applenumber+"斤,需要花费"+applenum+"元");
            System.out.println("需要继续购买请输入Y,否则输入N");
            a=sc1.next();
            break;
           case 5:
            System.out.println("请输入你需要购买香蕉的数量:");
            int banananumber=sc1.nextInt();
            double banananum=banananumber*banana;
            System.out.println("你购买了香蕉"+banananumber+"斤,需要花费"+banananum+"元");
            System.out.println("需要继续购买请输入Y,否则输入N");
            a=sc1.next();
            break;
        }
       }
       System.out.println("期待您的下次光临!");
    }
}

         第9~16行代码我们定义了5种商品的单价以及一个String类型的数据”a”与int类型的数据”i”,”a”用于while循环条件,判断是否继续循环,”i”用于switch选择语句的条件;第17~22行代码打印了各个商品的价格供用户选择,第23~75行代码,为了实现用户多次购买,我们使用while循环语句嵌套switch条件语句。

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值