java程序当当网购书系统怎么运行_Java实现基于控制台的购书系统基本操作
Java开发基于控制台的购书系统
题目
开发基于控制台的购书系统。具体要求如下:
(1)输出所有图书的信息:包括每本图书的图书编号、图书名称、图书单价和库存数量。
(2)顾客购买图书:根据提示输入图书编号来购买图书,并根据提示输入购买图书数量(用户必须连续购书三次)。
(3)购书完毕后输出顾客的订单信息:包括订单号、订单明细、订单总额和订单日期。
系统运行界面如图-1所示。
代码
Book.java
public class Book {
// 图书编号
private String number;
// 图书名称
private String name;
// 图书单价
private int price;
// 库存数量
private int stockNumber;
public Book() {
super();
}
public Book(String number, String name, int price, int stockNumber) {
super();
this.number = number;
this.name = name;
this.price = price;
this.stockNumber = stockNumber;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getStockNumber() {
return stockNumber;
}
public void setStockNumber(int stockNumber) {
this.stockNumber = stockNumber;
}
@Override
public String toString() {
return "编号:" + number + " 书名:" + name + " 价格:" + price + " 库存量:" + stockNumber;
}
}
Order.java
public class Order {
// 订单号
private long OrderNumber;
// 订单细节:书本编号、书本名字、单价
private String OrderInfo;
// 订单总额
private int OrderSum;
// 订单日期
private String OrderData;
public Order() {
super();
}
public Order(long orderNumber, String orderInfo, int orderSum, String orderData) {
super();
OrderNumber = orderNumber;
OrderInfo = orderInfo;
OrderSum = orderSum;
OrderData = orderData;
}
public long getOrderNumber() {
return OrderNumber;
}
public void setOrderNumber(long orderNumber) {
OrderNumber = orderNumber;
}
public String getOrderInfo() {
return OrderInfo;
}
public void setOrderInfo(String orderInfo) {
OrderInfo = orderInfo;
}
public int getOrderSum() {
return OrderSum;
}
public void setOrderSum(int orderSum) {
OrderSum = orderSum;
}
public String getOrderData() {
return OrderData;
}
public void setOrderData(String orderData) {
OrderData = orderData;
}
@Override
public String toString() {
return "个人订单" + " " + "订单编号:" + OrderNumber + " " + OrderInfo + " " + "图书总价:" + OrderSum
+ " " + "创建时间:" + OrderData;
}
PurchaseBookSystem.java
public class PurchaseBookSystem{
ArrayList list = new ArrayList();
//存放书本信息
Book[] arrBook = new Book[20];
//存放订单信息
Order[] arrOrder = new Order[20];
public static void main(String[] args) {
PurchaseBookSystem pbs = new PurchaseBookSystem();
//存入图书信息
pbs.InputBookInfo();
//购书系统主页面
pbs.mainPage();
}
/**
* 购书系统主页面
*/
public void mainPage(){
Scanner sc = new Scanner(System.in);
for(int i = 0; i < 100; i++){
System.out.println("*****************************");
System.out.println("\t通理工购书系统");
System.out.println("\t1.图书信息");
System.out.println("\t2.购买图书");
System.out.println("\t3.订单信息");
System.out.println("\t4.退出系统");
System.out.print("\t请选择你需要的业务:");
int number = sc.nextInt();
switch (number) {
case 1:
//输出图书信息
bookInfo();
break;
case 2:
//购买图书
bookBought();
break;
case 3:
lookOrder();
break;
case 4:
System.out.println("退出成功!");
return;
default:
System.out.println("请输入正确的数字!");
break;
}
}
}
/**
* 存入图书信息
*/
public void InputBookInfo(){
Book book1 = new Book("0001","红楼梦",298,999);
Book book2 = new Book("0002","西游记",49,999);
Book book3 = new Book("0003","三国演义",98,999);
Book book4 = new Book("0004","水浒传",128,999);
Book book5 = new Book("0005","鲁滨逊漂流记",68,999);
arrBook[0] = book1;
arrBook[1] = book2;
arrBook[2] = book3;
arrBook[3] = book4;
arrBook[4] = book5;
for (Book book : arrBook) {
list.add(book);
}
}
/**
* 输出图书信息
*/
public void bookInfo(){
for(int i = 0; i < list.size(); i++){
if(list.get(i) != null){
System.out.println(list.get(i));
}
}
}
/**
* 购买图书
*/
public void bookBought(){
int k = 0;
Scanner sc = new Scanner(System.in);
for(int i = 0; i < 3; i++){
System.out.print("请输入您需要购买的图书编号:");
String number = sc.next();
//此处判断是否存在图书编号有问题,输入0002的话,循环if判断不存在,会走到else打印输出错误,走第二次才能查找到,会多打印一次输入错误
//for(int z = 0; z < list.size(); z++){
//if(number.equals(arrBook[z].getNumber())){
//System.out.println(“输入正确”);
//}else{
//System.out.println(“输入错误”);
//return;
//}
//}
for(int j = 0; j < list.size(); j++){
if(number.equals(arrBook[j].getNumber())){
System.out.println(arrBook[j]);
System.out.print(“请输入您需要购买的数量:”);
int boughtNumber = sc.nextInt();
//当库存数量大于需要购买数量的时候可以购买
if(arrBook[j].getStockNumber() > boughtNumber && arrBook[j].getStockNumber() > 0){
//修改库存
arrBook[j].setStockNumber(arrBook[j].getStockNumber() - boughtNumber);
//生成订单
createOrder(k,arrBook[j],boughtNumber);
k++;
break;
}else{
System.out.println(“超过可购买数量!请重新购买!”);
break;
}
}
}
}
}
/**
* 生成订单
*/
public void createOrder(int i,Book arr,int boughtNumber){
long orderNumber = i + 10001;
int OrderSum = arr.getPrice() * boughtNumber;
SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String OrderData = date.format(new Date());
String OrderInfo = "图书编号:" + arr.getNumber() + " "+ "图书名:" + arr.getName() + " " + "图书价格:" + arr.getPrice();
Order order = new Order(orderNumber,OrderInfo,OrderSum,OrderData);
arrOrder[i] = order;
System.out.println("订单已提交!");
System.out.println("订单号:" + orderNumber + " " + OrderInfo + " " + "订单金额:" + OrderSum + " " + "订单生成时间:" + OrderData);
}
/**
* 查看订单
*/
public void lookOrder(){
for(int i = 0; i < arrOrder.length; i++){
if(arrOrder[i] != null){
System.out.println(arrOrder[i]);
}
}
}
}
实现效果
本文地址:https://blog.csdn.net/weixin_45231452/article/details/108030653
希望与广大网友互动??
点此进行留言吧!
java程序当当网购书系统怎么运行_Java实现基于控制台的购书系统基本操作相关推荐
- Java基础案例3-1:基于控制台的购书系统
[案例3-1]基于控制台的购书系统 [案例介绍] 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的 ...
- 任务一:基于控制台的购书系统 java实验报告
目录 一.实验目的及要求 二.实验环境 三.实验内容 四.实验步骤 五.调试过程及实验结果 六.总结 七.源程序清单 任务一:基于控制台的购书系统 任务目的 理解和掌握面向对象的设计程序 会用类图进行 ...
- java案例3:基于控制台的购书系统
基于控制台的购书系统 顾客购买时,根据提示输入图书编号来选购需要的书及购买数的数量 购买完毕后,输出顾客的订单信息,包括订单号.订单明细.订单总额1.图书类(Book) 图书编号 id 图书名称 na ...
- 基于控制台的购书系统
基于控制台的购书系统 基于控制台的购书系统 基于控制台的购书系统 一.案例介绍 案例描述 二.案例目标 三.案例分析 四.总结 五.附录(运行截图) ` 一.案例介绍 案例描述 伴随互联网的蓬勃发展, ...
- 任务3-1 基于控制台的购书系统
目录 题目 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网 ...
- [案例3-1]基于控制台的购书系统
案例描述: 伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效.低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网 ...
- 【案例3-1】(基于控制台的购书系统)
本任务要求:使用所学知识编写一个基于控制台的购书系统,实现购书功能,输出所有图书的信息,包括每本书的编号,书名,单价,库存. 顾客购买书时,根据提示输入图书编号来选需要的书,并根据提示输入购买书的数量 ...
- 购买流程图java_Java实现基于控制台的购书系统基本操作
Java开发基于控制台的购书系统 题目 开发基于控制台的购书系统.具体要求如下: (1)输出所有图书的信息:包括每本图书的图书编号.图书名称.图书单价和库存数量. (2)顾客购买图书:根据提示输入图书 ...
- java实验报告:实验一 基于控制台的购书系统
注:博主为初学java,此实验报告代码仅供参考,如有错误,还望指正. 水平有限,仅供参考 实验目的及要求 1.理解和掌握面向对象的设计程序 2.会用类图进行面向对象设计 3.掌握封装的实现及好处 4. ...
最新文章
- 【转】iPhone4清理垃圾文件的方法
- 了解AdvStringGrid
- Echarts使用笔记
- Python基础(偏函数)
- boost::log模块实现从设置文件初始化库的示例
- 访存优化_Hibernate事实:多级访存
- 错过校招_您可能错过的Web优化技巧
- 【Qtcreator】qtcreator的基本使用方法
- 【渝粤题库】 陕西师范大学 210021 学前儿童健康教育 作业(专升本)
- ubuntu 键盘输入法为空_[已解决]HELP!!!fcitx 输入法不出来,键盘也不见了
- ios android 逆向 对比,iOS逆向开发--APP重签名
- 计算机视觉论文-2021-07-21
- sha1校验工具android,Android 正式版与测试版签名(MD5,SHA1,SHA256)以及忘记keystore的应用正式版签名获取...
- Oracle 历史数据表迁移方案
- 双网卡 跃点_关于windows 双网卡和跃点数研究
- 深度神经网络分析,神经网络 炒股
- cassandra cql解析
- 平面设计素材|黑白海报设计,暗黑潮流
- 移动文件夹ubuntu
- Golang Base64编码解码
热门文章
- 计算机网络技术职业现状分析,师范专科学校计算机网络技术专业现状与应对措施.doc...
- 自动化工具Pyautogui和Pywinauto详细介绍和使用
- 卉原中学2021年高考成绩查询,卉原中学2021年宿舍条件
- PHP重要信息通知(短信通知+语音播报)解决方案
- 解析程序化中的机器人的算法写作
- 3d游戏场景建模设计师需要学哪些软件?
- Ultimate Email Toolkit:16种出色的电子邮件工具
- [Tushare]使用分享
- Hibernate5自动建表坑之索引BUG(Cant DROP xxxxxxxxx check that column/key exists)
- 雷军伯乐:天才程序员求伯君的退休生活