java实现鲜花销售系统

 更新时间:2021年06月24日 10:52:15   作者:司天宏  
这篇文章主要为大家详细介绍了java实现鲜花销售系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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);
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • idea中增强for循环提示unexpected token问题

    idea中增强for循环提示unexpected token问题

    这篇文章主要介绍了idea中增强for循环提示unexpected token问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java中基于Shiro,JWT实现微信小程序登录完整例子及实现过程

    Java中基于Shiro,JWT实现微信小程序登录完整例子及实现过程

    这篇文章主要介绍了Java中基于Shiro,JWT实现微信小程序登录完整例子 ,实现了小程序的自定义登陆,将自定义登陆态token返回给小程序作为登陆凭证。需要的朋友可以参考下
    2018-11-11
  • 每日六道java新手入门面试题,通往自由的道路--线程池

    每日六道java新手入门面试题,通往自由的道路--线程池

    这篇文章主要为大家分享了最有价值的6道线程池面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,对hashCode方法的设计、垃圾收集的堆和代进行剖析,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • java实现数字炸弹

    java实现数字炸弹

    这篇文章主要为大家详细介绍了java实现数字炸弹,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-07-07
  • 使用jvisualvm配合Visual GC插件监控Java程序详细总结

    使用jvisualvm配合Visual GC插件监控Java程序详细总结

    本节将会介绍一下jvisualvm的特性及作用、各个功能是如何使用的、最后会介绍jvisualvm的插件Visual GC的安装及使用
    2021-09-09
  • 一文深入了解Java中的AtomicInteger类

    一文深入了解Java中的AtomicInteger类

    AtomicInteger是java并发包下面提供的原子类,主要操作的是int类型的整型,通过调用底层Unsafe的CAS等方法实现原子操作,这篇文章主要给大家介绍了关于如何通过一文深入了解Java中AtomicInteger类的相关资料,需要的朋友可以参考下
    2024-02-02
  • java如何交换这两个变量的值方法介绍

    java如何交换这两个变量的值方法介绍

    在编程中可能会使用java来完成两个变量值的交换,本文将介绍如何解决此类问题,希望可以帮助您
    2012-11-11
  • 带你深入了解java-代理机制

    带你深入了解java-代理机制

    Java 有两种代理方式,一种是静态代理,另一种是动态代理。如果我们在代码编译时就确定了被代理的类是哪一个,那么就可以直接使用静态代理;如果不能确定,那么可以使用类的动态加载机制,在代码运行期间加载被代理的类这就是动态代理
    2021-08-08
  • java使用xpath和dom4j解析xml

    java使用xpath和dom4j解析xml

    XPath是一门在XML文档中查找信息的语言,下面介绍一下java使用xpath和dom4j解析xml的示例,大家参考使用吧
    2014-01-01
  • btrace定位生产故障的方法示例

    btrace定位生产故障的方法示例

    这篇文章主要介绍了btrace定位生产故障的方法示例,文中通过示例代码介绍的很详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-02-02

最新评论