Java案例分析

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

2024-10-25 15 0

简介 1.任务描述 编写一个超市购物程序,在一家超市有牙刷、毛巾、水杯、苹果和香蕉五种商品,商品价格如下表所示。 用户输入商品序列号进行商品购买,用户输入购买数量后计算出所需要花费的钱,一次购买结束后,需要用户输入“Y”或“N”,“Y”代表继续购买,“N”代表购物结束。

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

【任务介绍】

  1.任务描述

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

编号

商品名称

价格

1

牙刷

8.8

2

毛巾

10.0

3

水杯

18.8

4

苹果

12.5

5

香蕉

15.5

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

  2.运行结果

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

upfile

图2-1 运行结果

【任务目标】

l  会分析超市购物程序的实现思路。

l  根据思路独立完成超市购物的源代码编写、编译及运行。

l  掌握在程序中使用while循环结构和switch循环结构语句进行运算操作。

【实现思路】

(1)      从运行结果可以看出,我们需要先定义5个商品的价格,double类型,再打印出5种商品的价格。

(2)      从运行结果可以看出,这里我们让用户填写购买商品的序列号以及购买的数量,需要使用到Scanner类,

(3)      从运行结果可以看出,我们循环了选择购买的条件语句,这里使用while嵌套switch语句可以达到我们的目的,我们需要使用while循环switch的选择结构,而switch是判断用户选择购买商品序列号的条件语句。

【实现代码】

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

文件2-3 supermarket.java

package chapter0203;

import java.util.Scanner;

public class Supermarket {

    /*

     * 模拟商城购物小系统:1.用户选择商品后,后台计算商品价格;

     *                     2.使用while循环实现用户多次购买商品。

     */

      public static void  main (String[] args) {

               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条件语句。

 


点赞 0

文章评论

欢迎您:

阿文博客

人生的价值,并不是用时间,而是用深度量去衡量的。——列夫·托尔斯泰

69 文章 1879 浏览 0 评论