购买流程图java_Java实现基于控制台的购书系统基本操作
Java開發(fā)基于控制臺的購書系統(tǒng)
題目
開發(fā)基于控制臺的購書系統(tǒng)。具體要求如下:
(1)輸出所有圖書的信息:包括每本圖書的圖書編號、圖書名稱、圖書單價和庫存數(shù)量。
(2)顧客購買圖書:根據(jù)提示輸入圖書編號來購買圖書,并根據(jù)提示輸入購買圖書數(shù)量(用戶必須連續(xù)購書三次)。
(3)購書完畢后輸出顧客的訂單信息:包括訂單號、訂單明細(xì)、訂單總額和訂單日期。
系統(tǒng)運行界面如圖-1所示。
代碼
Book.java
public class Book {
// 圖書編號
private String number;
// 圖書名稱
private String name;
// 圖書單價
private int price;
// 庫存數(shù)量
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;
// 訂單細(xì)節(jié):書本編號、書本名字、單價
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
+ " " + "創(chuàng)建時間:" + 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();
//購書系統(tǒng)主頁面
pbs.mainPage();
}
/**
* 購書系統(tǒng)主頁面
*/
public void mainPage(){
Scanner sc = new Scanner(System.in);
for(int i = 0; i < 100; i++){
System.out.println("*****************************");
System.out.println("\t通理工購書系統(tǒng)");
System.out.println("\t1.圖書信息");
System.out.println("\t2.購買圖書");
System.out.println("\t3.訂單信息");
System.out.println("\t4.退出系統(tǒng)");
System.out.print("\t請選擇你需要的業(yè)務(wù):");
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("請輸入正確的數(shù)字!");
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的話,循環(huán)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(“請輸入您需要購買的數(shù)量:”);
int boughtNumber = sc.nextInt();
//當(dāng)庫存數(shù)量大于需要購買數(shù)量的時候可以購買
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(“超過可購買數(shù)量!請重新購買!”);
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]);
}
}
}
}
實現(xiàn)效果
本文地址:https://blog.csdn.net/weixin_45231452/article/details/108030653
如您對本文有疑問或者有任何想說的,請點擊進(jìn)行留言回復(fù),萬千網(wǎng)友為您解惑!
總結(jié)
以上是生活随笔為你收集整理的购买流程图java_Java实现基于控制台的购书系统基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: aix服务重启mysql_mysqld进
- 下一篇: java项目打成jar和war_mave