案例描述:
伴随互联网的蓬勃发展,网络购书系统作为电子商务的一种形式,正以其高效、低成本的优势逐步成为新兴的经营模式,人们已经不再满足互联网的用途仅仅局限于信息的浏览和发布,更渴望着能够充分享受互联网所带来的更多便利。网络购书系统正适应了当今社会快节奏地生活,使顾客足不出户便可以方便快捷轻松地选购自己喜欢的图书。
本任务要求,使用所学知识编写一个基于控制台的购书系统,实现购书功能。输出所有图书的信息:包括每本书的编号、书名、单价、库存。
顾客购买书时,根据提示输入图书编号来选购需要的书,并根据提示输入购买书的的数量。
购买完毕后输出顾客的订单信息,包括:订单号、订单明细、订单总额。
运行结果:
代码如下:
定义图书类:
/**
* 2022/3/13
*/
public class TuShu {
private int BianHao; // 编号
private String name; // 书名
private double DanJia; // 单价
private int KuCun; // 库存
public TuShu() {
}
public TuShu(int bianHao, String name, double danJia, int kuCun) {
BianHao = bianHao;
this.name = name;
DanJia = danJia;
KuCun = kuCun;
}
public int getBianHao() {
return BianHao;
}
public String getName() {
return name;
}
public double getDanJia() {
return DanJia;
}
public int getKuCun() {
return KuCun;
}
}
定义测试类:
import java.util.Scanner;
/**
* 2022/3/13
*/
public class Demo {
public static void main(String[] args) {
Demo d = new Demo(); // 创建对象
TuShu[] tss = new TuShu[3]; // 定义数组
tss[0] = new TuShu(10001, "斗罗大陆", 49.9, 100);
tss[1] = new TuShu(10002, "斗破苍穹", 59.9, 200);
tss[2] = new TuShu(10003, "完美世界", 69.9, 500);
d.ShuChu(tss); // 将数组元素添加到方法中
d.DingDan(tss);
}
// 输出图书信息方法
public void ShuChu(TuShu[] ts) {
System.out.println("图书编号\t\t图书名称\t\t图书单价\t库存");
for (int i = 0 ; i < ts.length ; i++){ // 遍历数组,输出图书信息
System.out.println(ts[i].getBianHao() + "\t\t" + ts[i].getName() + "\t\t" + ts[i].getDanJia() + "\t" +ts[i].getKuCun());
}
System.out.println("----------------------------------");
}
// 订单
public void DingDan(TuShu[] ts) {
Scanner in = new Scanner(System.in);
boolean b = true; // 定义一个boolean变量
double ZongJinEr = 0; // 记录商品总额
int ZongShu = 0; // 记录购买书本件数
while (b) { // 使用循环使购买图书可以重复购买
System.out.println("请输入要购买图书的编号:");
int Bian = in.nextInt();
System.out.println("请输入购买数量:");
int Shu = in.nextInt();
for (int i = 0 ; i < ts.length ; i++){ // 遍历数组
if (Bian == ts[i].getBianHao()){ // 寻找图书对应的编号
System.out.println("订单编号:" + Bian);
System.out.println("购买书名:" + ts[i].getName() + "\n订单总额:" + Shu*ts[i].getDanJia() + "\n交易明细,购买:" + ts[i].getName() + Shu + "本");
ZongJinEr += Shu*ts[i].getDanJia(); // 商品价格相加
ZongShu += Shu; // 购买件数相加
}
}
System.out.println("是否继续购买:");
String s = in.next();
if (s.equals("否")){ // 输入否循环结束
b = false;
System.out.println("一共购买:" + ZongShu + "本,共消费:" + ZongJinEr); // 打印购买件数,与总额
}
}
}
}