Java超详细教你写一个网络购书系统案例

网友投稿 240 2022-08-17


Java超详细教你写一个网络购书系统案例

目录一、购书系统1.前言2.功能介绍3.分析二、图书类(Book)1.类名及属性2.代码示例三、订单项类(OrderItem)1.类名及属性2.代码示例四、订单类(Order)1.类名及属性2.代码示例五、测试类(Test)1.编写打印图书信息的方法2.编写购买图书的方法3.编写打印订单信息方法4.编写main方法六、总结

一、购书系统

1.前言

伴随着互联网的飞速发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会的快节奏生活,使更多顾客可以足不出户就能方便快捷地购买自己喜欢的图书。

2.功能介绍

使用java语言编写一个基于控制台的购书系统,实现购书功能。输出所有图书的信息:每本书的编号、书名、单价、库存。

在顾客购买书时,根据提示输入图书编号来选购需要的书,并根据提示输入购买书的数量。 购买完毕后输出顾客的订单信息,包括:订单号、订单明细、订单总额。

3.分析

需要创建三个实体类:图书类、订单项类、订单类。

由于购买图书时,需要选择图书的数量,所以需要在订单项类里定义获取图书对象以及图书数量的方法。

由于需要指定订单项以及获取订单的订单列表、订单号、订单总额KVqPTQpSJ等信息,所以需要有订单列表、订单号、订单总额指定订单项等方法。

二、图书类(Book)

1.类名及属性

图书编号(id)

图书名称(name)

图书单价(price)

库存数量(storage)

2.代码示例

/*

定义图书类

*/

public class Book {

private int id;

private String name;

private double price;

private int stock;

//无参构造

public Book() {

}

//带四个参数的构造

public Book(int id, String name, double price, int stock) {

this.id = id;

this.name = name;

this.price = price;

this.stock = stock;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public double getPrice() {

return price;

}

public void setPrice(double price) {

this.price = price;

}

public int getStock() {

return stock;

}

public void setStock(int stock) {

this.stock = stock;

}

}

三、订单项类(OrderItem)

1.类名及属性

图书(book)

购买数量(num)

2.代码示例

/*

定义订单项类

*/

public class OrderItem {

private Book book;

private int num;

public OrderItem() {

}

public OrderItem(Book book, int num) {

this.book = book;

this.num = num;

}

public Book getBook() {

return book;

}

public void setBook(Book book) {

this.book = book;

}

public int getNum() {

return num;

}

public void setNum(int num) {

this.num = num;

http://}

}

四、订单类(Order)

1.类名及属性

订单号(orderID)

订单总额(total)

订单项列表(items)

2.代码示例

/*

订单类

*/

public class Order {

private String orderID;

private OrderItem[] items = new OrderItem[3];

private double totalMoney;

public Order() {

}

public Order(String orderID) {

this.orderID = orderID;

}

public String getOrderID() {

return orderID;

}

public void setOrderID(String orderID) {

this.orderID = orderID;

}

public OrderItem[] getItems() {

return items;

}

public void setItems(int i,OrderItem item) {

items[i]=item;

}

public double getTotalMoney() {

for (int i = 0; i < items.length; i++) {

totalMoney += items[i].getNum()*items[i].getBook().getPrice();

}

return totalMoney;

}

}

五、测试类(Test)

1.编写打印图书信息的方法

/*

打印图书信息的方法

*/

private static void printBooks(Book[] books) {

books[0]=new Book(1,"Java2实用教程",10,20);

books[1]=new Book(2,"计算机网络原理",20,20);

books[2]=new Book(3,"概率论数理统计",30,20);

System.out.println("图书编号\t图书名称\t\t\t图书单价\t图书库存");

for (int i = 0; i < books.length; i++) {

Book b=books[i];

System.out.println("\t"+b.getId() +"\t\t"+b.getName()+"\t\t"+b.getPrice()+"\t\t"+b.getStock());

}

}

2.编写购买图书的方法

/*

购买图书的方法

*/

private static Order buy(Book[] books) {

Order order = new Order("001");

Scanner sc=new Scanner(System.in);

for (int i = 0; i < books.length; i++) {

System.out.println("请输入图书的编号:");

int id = sc.nextInt();

System.out.println("请输入购买的数量:");

int num = sc.nextInt();

OrderItem item = new OrderItem(books[id-1],num);

order.setItems(i,item);

}

return order;

}

3.编写打印订单信息方法

/*

打印订单信息方法

*/

private static void printInfo(Order order) {

System.out.println("订单编号:"+order.getOrderID());

System.out.println("图书名称\t\t图书单价\t购买的数量");

OrderItem[] items = order.getItems();

for (int i = 0; i < items.length; i++) {

System.out.println(items[i].getBook().getName()+"\t"+items[i].getBook().getPrice()+"\t\t"+items[i].getNum());

}

System.out.println("----------------------------------");

System.out.println("总金额:"+order.getTotalMoney());

}

4.编写main方法

public static void main(String[] args) {

Book[] books = new Book[3];

//调用打印图书信息的方法

printBooks(books);

//调用购买图书的方法

Order order = buy(books);

//调用打印订单信息方法

printInfo(order);

}

六、总结

通过本实例学会分析“基于控制台的购书系统”程序任务实现的逻辑思路,掌握并理解面向对象的程序设计,包和访问控制修饰符的使用。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Netty分布式行解码器逻辑源码解析
下一篇:Netty分布式固定长度解码器实现原理剖析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~