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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41532872/article/details/85040249