赞
踩
1.任务描述
编写一个超市购物程序,在一家超市有牙刷、毛巾、水杯、苹果和香蕉五种商品,
商品价格如下表所示。
程序启动后,首先显示以上 5 种商品。
然后提示用户输入商品序列号进行商品购买,用户输入购买数量后计算出所需要花
费的钱,一次购买结束后,需要用户输入“Y”或“N”,“Y”代表继续购买,“N”代表
购物结束。
【任务目标】
学会分析“超市购物 ”程序的实现思路。
根据思路独立完成“超市购物 ”的源代码编写、编译及运行。
掌握在程序中使用 while/do…while 循环结构和 switch 选择分支结构语句进行运算
操作。
【实现思路】
(1)从运行结果可以看出,我们需要先定义 5 个商品的价格,double 类型,再打印
出 5 种商品的价格。
(2)从运行结果可以看出,这里我们让用户填写购买商品的序列号以及购买的数
量,需要使用到 java.util.Scanner 类,
(3)从运行结果可以看出,我们循环了选择购买的条件语句,这里使用
while/do…while 循环的内部,嵌套一个 switch 语句可以达到我们的目的,我们需要
使用 while 循环 switch 的选择结构,而 switch 语句中的 case 部分是判断用户选择购买
商品序列号的分支。
注意:在每次循环中,我们需要读取输入两次:一次是购买商品的序号,另一次是
是否继续购买。
【实现代码】
package com.zy; 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; //香蕉价格 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 + "元"); String choice = "Y"; do { Scanner scanner = new Scanner(System.in); System.out.print("请输入你需要购买商品的序列号:"); int i = scanner.nextInt(); int amount = 0; double money = 0; switch (i) { case 1: System.out.print("请输入你需要购买牙刷的数量:"); amount = scanner.nextInt(); money = amount * toothbrush; System.out.println("你购买了牙刷"+ amount + "支,需要花费" + money + "元"); System.out.println("是否继续购买商品?是(输入Y)/否(输入N)"); break; case 2: System.out.print("请输入你需要购买毛巾的数量:"); amount = scanner.nextInt(); money = amount * towel; System.out.println("你购买了毛巾" + amount + "条,需支付" + money + "元"); System.out.println("是否继续购买商品?是(输入Y)/否(输入N)"); break; case 3: System.out.print("请输入你需要购买水杯的数量:"); amount = scanner.nextInt(); money = amount * cup; System.out.println("你购买了水杯" + amount + "个,需支付" + money + "元"); System.out.println("是否继续购买商品?是(输入Y)/否(输入N)"); break; case 4: System.out.print("请输入你需要购买苹果的数量:"); amount = scanner.nextInt(); money = amount * apple; System.out.println("你购买了苹果"+ amount + "个,需要花费" + money + "元"); System.out.println("是否继续购买商品?是(输入Y)/否(输入N)"); break; case 5: System.out.print("请输入你需要购买香蕉的数量:"); amount = scanner.nextInt(); money = amount * banana; System.out.println("你购买了香蕉"+ amount + "个,需要花费" + money + "元"); System.out.println("是否继续购买商品?是(输入Y)/否(输入N)"); break; } System.out.print("需要继续购买请输入 Y,否则输入 N:"); choice = scanner.next(); } while (choice.toUpperCase().equals("Y")); System.out.println("期待您的下次光临!"); } }
2.运行结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。