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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

记录第一个Java实验


提示:以下是本篇文章正文内容,下面案例可供参考

一、任务介绍

1.任务描述

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

编号 商品名称 价格
1 牙刷 8.8元
2 毛巾 10.0元
3 水杯 18.8元
4 苹果 12.5元
5 香蕉 15.5元
用户输入商品序列号进行商品购买,用户输入购买数量后计算出所需要花费的钱,一次购买结束后,需要用户输入“Y”或“N”,“Y”代表继续购买,“N”代表购物结束。

2.运行结果

任务运行结果如图2-1所示。
在这里插入图片描述
图2-1 运行结果

3.任务目标

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

4.实现思路

(1) 从运行结果可以看出,我们需要先定义5个商品的价格,double类型,再打印出5种商品的价格。
(2) 从运行结果可以看出,这里我们让用户通过键盘输入购买商品的序列号以及购买的数量,需要使用到Scanner类,步骤如下:
1)导包: import java.util.Sanner;
2)创建输入流对象:Scanner sc = new Scanner(System.in);
3) 通过对象调用相应的next方法获取相应类型数值:
如int a=sc.nextInt( ); 获取整型数值的输入
String str=sc.nextLine( ); 获取字符串的输入
(3) 从运行结果可以看出,需要循环选择购买的switch多分支语句,这里使用while嵌套switch语句即可以达到目的,使得用户可以反复选择购买商品,和输入购买商品的数量,直到用户购买完当前商品后选择不继续购买。

二、程序实现

这里我自由发挥多加了点东西…

1.代码

import java.util.Scanner;
public class Product {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double toothbrush=8.8;   //牙刷价格
        double towel=10.0;        //毛巾价格
        double cup=18.8; 		    //水杯价格
        double apple=12.5;        //苹果价格
        double banana=15.5;       //香蕉价格
        double qqsugar=1.5;       //QQ糖价格

        String choose = "Y";
        System.out.println("--------你好!欢迎光临不买白不买小店--------");
        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 + "元");
        System.out.println("6.QQ糖价格" + qqsugar + "元");
        int total = 0;
        double Total_price = 0;
        while (choose.equals("Y")||choose.equals("y")){
            System.out.println("请输入您需要购买商品的序列号:");
            int id =sc.nextInt( );

            switch (id){
                case 1:
                    System.out.println("牙刷价格为:" +toothbrush+ "元,请输入您需要购买的数量:");
                    int s = sc.nextInt();
                    double d = s * toothbrush;
                    System.out.println("您购买的牙刷数量为:" + s + "支,共消费:" + d + "元");
                    total += s;
                    Total_price += d;
                    System.out.println("是否继续购买(Y,继续 N,退出):");
                    choose = sc.next();
                    break;
                case 2:
                    System.out.println("毛巾价格为:" + towel + "元,请输入您需要购买的数量:");
                    int s1 = sc.nextInt();
                    double d1 = s1 * towel;
                    System.out.println("您购买毛巾数量为:" + s1 + "条,共消费:" + d1 + "元");
                    total += s1;
                    Total_price += d1;
                    System.out.println("是否继续购买(Y,继续 N,退出):");
                    choose = sc.next();
                    break;
                case 3:
                    System.out.println("水杯价格为:" + cup + "元,请输入您需要购买的数量:");
                    int s2 = sc.nextInt();
                    double d2 = s2 * cup;
                    System.out.println("您购买水杯数量为:" + s2 + "个,共消费:" + d2 + "元");
                    total += s2;
                    Total_price += d2;
                    System.out.println("是否继续购买(Y,继续 N,退出):");
                    choose = sc.next();
                    break;
                case 4:
                    System.out.println("苹果价格为:" + apple + "元,请输入需要购买的数量:");
                    int s3 = sc.nextInt();
                    double d3 = s3 * apple;
                    System.out.println("您购买苹果数量为:" + s3 + "个,共消费:" + d3 + "元");
                    total += s3;
                    Total_price += d3;
                    System.out.println("是否继续购买(Y,继续 N,退出):");
                    choose = sc.next();
                    break;
                case 5:
                    System.out.println("香蕉价格为:" + banana + "元,请输入您需要购买的数量:");
                    int s4 = sc.nextInt();
                    double d4 = s4 * banana;
                    System.out.println("您购买香蕉数量为:" + s4 + "根,共消费:" + d4 + "元");
                    total += s4;
                    Total_price += d4;
                    System.out.println("是否继续购买,需要请输入Y,否则请输入N:");
                    choose = sc.next();
                    break;
	      case 6:
                    System.out.println("QQ糖价格为:" + qqsugar + "元,请输入您需要购买的数量:");
                    int s5 = sc.nextInt();
                    double d5 = s5 * qqsugar;
                    System.out.println("您购买QQ糖数量为:" + s5 + "包,共消费:" + d5 + "元");
                    total += s5;
                    Total_price += d5;
                    System.out.println("是否继续购买,需要请输入Y,否则请输入N:");
                    choose = sc.next();
                    break;
                default:
                    System.out.println("找不到该商品,请重新选择");
            }
        }
        System.out.println("您一共买了:" + total + "件商品,共消费:" + Total_price + "元");
        System.out.println("期待您的再次光临!");
}
}

2.实验结果(包括输入数据和输出结果)

在这里插入图片描述
在这里插入图片描述


总结

这个超市小程序到这里就结束了,还有一个实验1-2抽取幸运观众在主页有

  • 18
    点赞
  • 115
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

西又X

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

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

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

打赏作者

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

抵扣说明:

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

余额充值