文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java实现鲜花销售系统

2024-04-02 19:55

关注

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯