1. 程式人生 > >java小專案鮮花銷售系統

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);
	}
}

在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述