Java-超市购物小票案例-详细介绍
1.1 超市购物购物小票需求分析

用户循环进行三个操作:
1、输入购买数量,代表为所购买货物的数量赋值,从而计算每项商品金额
2、打印小票,将已有数据打印
3、退出系统(因为该程序为循环操作,无法终止,如果不想再进行操作,则退出系统)
1.1.1 案例代码一
private String name; //名称
private String id; //编号
private double price; //单价
private int num; //数量
private String unit; //计价单位
private double money; //金额
//有参构造方法
public GoodsItem(String name, String id, double price, int num, String unit, double money) {
super();
this.name = name;
this.id = id;
this.price = price;
this.num = num;
this.unit = unit;
this.money = money;
}
//无参构造方法
public GoodsItem() {
super();
// TODO Auto-generated constructor stub
}
//取值(get)和赋值(set)方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
import java.util.Scanner;
/**
public static void main(String[] args) {
//为集合准备数据
System.out.println("欢迎进入超市购物系统!");
//使用switch给出操作选择
//通过键盘录入得到数据
Scanner sc=new Scanner(System.in);
int optNumber=sc.nextInt();
case 1: //给所有数据量赋值,调用给所有数据的数量与金额赋值方法
enterNumber();
break;
case 2: //打印购物小票,调用打印购物小票的方法
printReceipt();
break;
case 3:
System.out.println("谢谢您的使用");
//退出程序
default:
}
}
}
public static void initData() {
//创建多个商品项对象
GoodsItem shk=new GoodsItem("尚康饼干","090027",14.5,0,"袋",0);
//将多个商品项对象放入集合中
data.add(shk);
}
public static void enterNumber() {
//集合的变遍历
//依次获取到集合中每一个元素
String thisGoodsName = thisGoods.getName();
System.out.println("请输入"+thisGoodsName+"的购买数量");
Scanner sc = new Scanner(System.in);
int thisGoodsNumber=sc.nextInt();
//根据数量计算金额 金额=单价*数量
thisGoods.setNum(thisGoodsNumber);
thisGoods.setMoney(thisGoodsMoney);
}
}
private static void printReceipt() {
//票头
System.out.println("品名\t售价\t数量\t单位\t金额");
System.out.println("------------------------");
//票体
//定义变量,记录所有的商品金额
//遍历集合
for(int i=0;i<data.size();i++) {
//一依次获取每一个商品项
//打印商品项
totalNumber+=g.getNum();
totalMoney+=g.getMoney();
}
System.out.println("------------------------");
//票脚
System.out.println("共"+data.size()+"项商品");
System.out.println("共"+totalNumber+"件商品");
System.out.println("共"+totalMoney+"元");
System.out.println();
}
}
学习更多基础Java教程可以在这个网站学习:http://how2j.cn/p/2099
Java-超市购物小票案例-详细介绍的更多相关文章
- Java 集合系列 09 HashMap详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 10 Hashtable详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 06 Stack详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 05 Vector详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 04 LinkedList详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例
java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...
- 微服务架构学习与思考(11):开源 API 网关02-以 Java 为基础的 API 网关详细介绍
微服务架构学习与思考(11):开源 API 网关02-以 Java 为基础的 API 网关详细介绍 上一篇关于网关的文章: 微服务架构学习与思考(10):微服务网关和开源 API 网关01-以 Ngi ...
- java超市购物管理系统
一.概述 1.鹏哥前面有写过java项目超市管理系统项目,传送门 2.收到很多朋友私信给我,也很感谢老铁们的反馈和交流,前面这个项目只是对java基础知识和面向对象的思想练习,但是没有涉及到java如 ...
- Java 并发专题 : Executor详细介绍 打造基于Executor的Web服务器
转载标明出处:http://blog.csdn.net/lmj623565791/article/details/26938985 继续并发,貌似并发的文章很少有人看啊~哈~ 今天准备详细介绍java ...
随机推荐
- JavaGUI应用程序打包及数字签名
JavaGUI应用程序部署 JavaGUI程序发布分类: a.Applet:可以嵌入到浏览器中,通过网页的方式展示给用户 b.application :有两种发布方式 :打包成jar包通过bat的方式 ...
- [IT学习]Python如何处理异常特殊字符
欢迎访问www.cnblogs.com/viphhs A byte of Python<输入与输出>一节中有一个处理回文的小例子(io_input.py).作者留了个思考题. 如何将标点去 ...
- while语句字符串的基本操作
1,编码:对现在通用文字编码成计算机文字,便于储存,传递,交流. 最早的计算机编码是ACSII美国人创建的,包含英文字母,数字,以及特殊符号.总共是128个码位:2**7,因为计算机的底层只能识别:& ...
- PHP 7.2 RC3 on CentOS/RHEL 7.3 via Yum
https://webtatic.com/packages/php72/ rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-lat ...
- 磁盘扩容 磁盘阵列(Redundant Arrays of Independent Disks,RAID)
磁盘阵列(Redundant Arrays of Independent Disks,RAID) 云 500G 不够用 扩容 方案1 重建分区,由500G到1T,按历史增速,1年后再扩到1.5T, ...
- How to use filters in a GridPanel
You can just link statically required files in your index.html <link rel="stylesheet" t ...
- Windows的MAX_PATH
MAX_PATH的解释: 文件名最长256(ANSI),加上盘符(X:\)3字节,259字节,再加上结束符1字节,共260http://msdn.microsoft.com/en-us/library ...
- YTU 2916: Shape系列-2
2916: Shape系列-2 时间限制: 1 Sec 内存限制: 128 MB 提交: 268 解决: 242 题目描述 小聪不喜欢小强的Shape类,声称用Shape类做出的形状不真实,于是小 ...
- 转【前端基础进阶之Promise】
前言 Promise的重要性我认为我没有必要多讲,概括起来说就是必须得掌握,而且还要掌握透彻.这篇文章的开头,主要跟大家分析一下,为什么会有Promise出现. 在实际的使用当中,有非常多的应用场景我 ...
- bzoj 4596
4596: [Shoi2016]黑暗前的幻想乡 Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 257 Solved: 152[Submit][Sta ...