java小專案鮮花銷售系統
專案:七彩鮮花銷售系統
一、練習目標
1.體會陣列的作用
2.找到分層開發的感覺
3.收穫分層開發的興趣
4.作出效果,找到自信
5.學會除錯錯誤
6.掌握陣列的增刪改查方法
全部講解和練習時間控制在3小時以內
二、專案需求
1.使用分層開發:表示層(測試類)、業務層(鮮花管理類)、實體層(鮮花類)
2.使用陣列的相關方法實現鮮花銷售系統的查詢訂單、修改訂單、刪除訂單功能。
3.查詢訂單之前需要對陣列進行初始化操作
4.修改訂單時,需要先判斷訂單是否存在,存在才可以修改,修改後可以選擇是否儲存修改,若儲存修改,顯示修改後的訂單資訊
5.刪除訂單時,需要先判斷訂單是否存在,存在才可刪除,詢問使用者是否確認刪除,確認後再刪除訂單資訊,刪除成功後,顯示目前最新的訂單資訊
三、提供的素材
1.專案執行效果圖
四、實施步驟
1.教師執行專案,學生熟悉專案功能
2.教師講解基本程式碼思路
3.給學生提供執行效果截圖
4.學生根據截圖實現效果
5.教室講解編寫程式碼步驟
6.期間穿插已完成學生展示效果
五、編寫程式碼步驟
1.定義鮮花類Flower,放入實體層
2.定義鮮花管理類FlowerMgr,通過一個數組實現對鮮花的管理,放入業務層。
3.FlowerMgr類中,實現public void inital(){}方法,用於完成對鮮花管理系統的初始化功能(陣列的初始化)
4.FlowerMgr類中,實現public void mainMenu(){}方法,用於完成功能面板的展示及功能選擇
5.FlowerMgr類中,實現private void searchAll(){}方法,用於完成查詢訂單的功能
6.FlowerMgr類中,實現private void updateSale(){}方法,用於完成修改訂單的功能
7.FlowerMgr類中,實現private void deleteSale(){}方法,用於完成刪除訂單的功能
8.定義測試類Test,放入表示層;在測試類中,先初始化鮮花管理系統,然後呼叫mainMenu()方法,實現具體功能
9.編寫程式碼過程中,儘量每完成一個功能,就對其進行測試
六、學生擴充套件
1.學生嘗試增加鮮花管理系統的功能:
a)增加新增訂單功能
b)在學習異常處理後,可進行必要的異常處理
2.完善功能程式碼:
a)銷售數量不能為負數
b)鮮花價格不能為負數
public class Flower { private int number; private String name; private int count; private double price; private String date; private String saler; public Flower(int number, String name, int count, double price, String date, String saler) { super(); this.number = number; this.name = name; this.count = count; this.price = price; this.date = date; this.saler = saler; } public Flower() { super(); // TODO Auto-generated constructor stub } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getCount() { return count; } public void setCount(int count) { this.count = count; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getSaler() { return saler; } public void setSaler(String saler) { this.saler = saler; } }
import java.util.*;
import java.util.Scanner;
public class FlowerMgr {
Scanner input1=new Scanner(System.in);
static Flower[] flower=new Flower[5];
//public void inital(){
//初始化,花的陣列
static{
flower[0]=new Flower(1001,"香檳玫瑰",10,318.0,"2018-12-12","王二");
flower[1]=new Flower(1002,"白玫瑰",99,538.0,"2018-2-2","張星宇");
flower[2]=new Flower(1003,"紫色桔梗",40,123.0,"2018-12-16","王二");
flower[3]=new Flower(1004,"粉色百合",120,188.0,"2016-12-11","王二");
flower[4]=new Flower(1005,"無聲的愛",1000,219.0,"2016-12-15","張星宇");
}
//完成功能面板的展示功能
public void mainMenu(){
System.out.println("~~~~~~~~~~歡迎光臨鮮花管理系統~~~~~~~~~~~");
System.out.println("\t1.查詢銷售訂單");
System.out.println("\t2.修改銷售訂單");
System.out.println("\t3.刪除銷售訂單");
System.out.println("\t4.系統退出");
System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
}
//查詢訂單功能
public void searchAll(){
System.out.println("這裡是全部的訂單");
System.out.println("編號\t鮮花名稱\t銷售數量\t價格\t銷售日期\t\t銷售員");
for(int i=0;i<flower.length;i++){
**if(flower[i]!=null)**{
Flower f=flower[i];
System.out.println(f.getNumber()+"\t"+f.getName()+"\t"+f.getCount()+"\t"
+f.getPrice()+"\t"
+f.getDate()+"\t"+f.getSaler());
}
}
}
//修改訂單功能
public void updateSale(){
System.out.println("這裡是修改訂單功能");
searchAll();
System.out.println("請輸入要修改編號");
int index=-1;
int num1=input1.nextInt();
for(int i=0;i<flower.length;i++){
Flower f=flower[i];
int number=f.getNumber();
if(num1==number)
index=i;
}
if(index==-1)System.out.println("輸入的編號有誤");
else{System.out.println("請輸入改變後的鮮花名稱");
String name=input1.next();
System.out.println("請輸入改變後的銷售數量");
int number=input1.nextInt();
System.out.println("請輸入改變後的價格");
double price =input1.nextDouble();
System.out.println("請輸入改變後的銷售日期");
String date =input1.next();
System.out.println("請輸入改變後的銷售員");
String saler=input1.next();
System.out.println("你確定要修改嗎?(y/n)");
String choice=input1.next();
if("y".equals(choice)){
flower[index].setName(name);
flower[index].setCount(number);;
flower[index].setPrice(price);
flower[index].setDate(date);
flower[index].setSaler(saler);
}
System.out.println("修改後的全部訂單");
searchAll();
}
}
//刪除訂單功能
public void deleteSale(){
System.out.println("這裡是刪除訂單功能");
searchAll();
System.out.println("請輸入要刪除的編號");
int number=input1.nextInt();
int index=-1;
for(int i=0;i<flower.length;i++){
Flower f=flower[i];
if(number==f.getNumber())
index=i;
}
if(index==-1)System.out.println("你輸入的編號有誤");
else{System.out.println("你要修改的訂單如下");
Flower f=flower[index];
System.out.println("編號\t鮮花名稱\t銷售數量\t價格\t銷售日期\t\t銷售員");
System.out.println(f.getNumber()+"\t"+f.getName()+"\t"+f.getCount()+"\t"
+f.getPrice()+"\t"
+f.getDate()+"\t"+f.getSaler());
System.out.println("你確定要刪除嗎(y/n)");
System.out.println("請選擇");
String choice=input1.next();
if("y".equals(choice)){
**for(int i=index;i<flower.length-1;i++){
flower[i]=flower[i+1];**
}
**flower[flower.length-1]=null;**
System.out.println("刪除成功");
searchAll();
}
else
{System.out.println("已取消刪除");}
}
}
}
import java.util.Scanner;
public class test {
public static void main(String[] args) {
do{Scanner input=new Scanner(System.in);//列印物件
FlowerMgr f=new FlowerMgr();
f.mainMenu();
System.out.println("請選擇");
int num=input.nextInt();
//方法的選用
switch(num){
case 1: f.searchAll();break;//查詢銷售訂單
case 2:f.updateSale();break;//修改訂單功能
case 3:f.deleteSale();break;//刪除功能
case 4: return;
}}while(true);
}
}