超市购物小程序

【任务介绍】

  1.任务描述

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

编号

商品名称

价格

1

牙刷

8.8元

2

毛巾

10.0元

3

水杯

18.8元

4

苹果

12.5元

5

香蕉

15.5元

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

  2.运行结果

任务运行结果如图2-3所示。

图2-3 运行结果

【任务目标】

  1. 学会分析” 超市购物 ”程序的实现思路。
  2. 根据思路独立完成” 超市购物 ”的源代码编写、编译及运行。
  3. 掌握在程序中使用while循环结构和switch循环结构语句进行运算操作。

【实现思路】

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

【实现代码】

  超市购物程序的实现代码,如文件2-3所示。

文件2-3 supermarket.java

  1. package chapter0203;
  2. import java.util.Scanner;
  3. public class supermarket {
  4. /*
  5.  * 模拟商城购物小系统:1.用户选择商品后,后台计算商品价格;
  6.  *                     2.使用while循环实现用户多次购买商品。
  7.  */
  8.   public static void  main (String[] args) {
  9.        double toothbrush=8.8;   //牙刷价格
  10.   double towel=10.0;        //毛巾价格
  11.   double cup=18.8;     //水杯价格
  12.   double apple=12.5;        //苹果价格
  13.   double banana=15.5;       //香蕉价格
  14.   int i=0;
  15.   String a="Y";
  16.   System.out.println("-------------黑马小商城-------------");
  17.   System.out.println("1.牙刷的价格为:"+toothbrush+"元");
  18.   System.out.println("2.毛巾的价格为:"+towel+"元");
  19.   System.out.println("3.水杯的价格为:"+cup+"元");
  20.   System.out.println("4.苹果的价格为:"+apple+"元");
  21.   System.out.println("5.香蕉的价格为:"+banana+"元");
  22.   while(a.equals("Y")) {
  23.   Scanner sc1 = new Scanner(System.in);
  24.   System.out.println("请输入你需要购买商品的序列号:");
  25.   i=sc1.nextInt();
  26.   switch(i){
  27.   case 1:
  28.   System.out.println("请输入你需要购买牙刷的数量:");
  29.   int toothbrushnnumber=sc1.nextInt();
  30.   double toothbrushnnum=toothbrushnnumber*toothbrush;
  31.   System.out.println("你购买了牙刷"+toothbrushnnumber+"
  32.                                           支,需要花费"+toothbrushnnum+"元");
  33.   System.out.println("需要继续购买请输入Y,否则输入N");
  34.   a=sc1.next();
  35.   break;
  36.   case 2:
  37.   System.out.println("请输入你需要购买毛巾的数量:");
  38.   int towelnumber=sc1.nextInt();
  39.   double towelnum=towelnumber*towel;
  40.   System.out.println("你购买了毛巾"+towelnumber+"个,需要
  41.                                             花费"+towelnum+"元");
  42.   System.out.println("需要继续购买请输入Y,否则输入N");
  43.   a=sc1.next();
  44.   break;
  45.   case 3:
  46.   System.out.println("请输入你需要购买水杯的数量:");
  47.   int cupnumber=sc1.nextInt();
  48.   double cupnum=cupnumber*cup;
  49.   System.out.println("你购买了水杯"+cupnumber+"个,需要花
  50.                                              费"+cupnum+"元");
  51.   System.out.println("需要继续购买请输入Y,否则输入N");
  52.   a=sc1.next();
  53.   break;
  54.   case 4:
  55.   System.out.println("请输入你需要购买苹果的数量:");
  56.   int applenumber=sc1.nextInt();
  57.   double applenum=applenumber*apple;
  58.   System.out.println("你购买了苹果"+applenumber+"斤,需要
  59.                                             花费"+applenum+"元");
  60.   System.out.println("需要继续购买请输入Y,否则输入N");
  61.   a=sc1.next();
  62.   break;
  63.   case 5:
  64.   System.out.println("请输入你需要购买香蕉的数量:");
  65.   int banananumber=sc1.nextInt();
  66.   double banananum=banananumber*banana;
  67.  System.out.println("你购买了香蕉"+banananumber+"斤,需要
  68.                                             花费"+banananum+"元");
  69.   System.out.println("需要继续购买请输入Y,否则输入N");
  70.   a=sc1.next();
  71.   break;
  72.   }
  73.   }
  74.   System.out.println("期待您的下次光临!");
  75.   }
  76. }

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_56210987

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值