本文实例为大家分享了java实现鲜花销售系统的具体代码,供大家参考,具体内容如下
一、练习目标
1.体会数组的作用
2.找到分层开发的感觉
3.收获分层开发的兴趣
4.作出效果,找到自信
5.学会调试错误
6.掌握数组的增删改查方法
二、项目需求
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);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。