java开发案例(JAVA项目案例详解)

 2025-09-03 06:54:01  阅读 244  评论 0

摘要:项目案例--吃货联盟一、项目准备:1.开发环境:JDK1.8IntelliJ IDEA2.技术点分析:能理解程序基本概念 – 程序会使用变量、数据类型会使用顺序、选择、循环、跳转语句编写程序会使用数组3.任务描述:只要动动手指,就能送餐上门”,网上订餐深受现代人青睐,现开发一个网上订

项目案例--吃货联盟

一、项目准备:

1.开发环境:

JDK1.8IntelliJ IDEA

2.技术点分析:

能理解程序基本概念 – 程序会使用变量、数据类型会使用顺序、选择、循环、跳转语句编写程序会使用数组

3.任务描述:

只要动动手指,就能送餐上门”,网上订餐深受现代人青睐,现开发一个网上订餐系统,功能如下:

我要订餐

查看餐袋

签收订单

删除订单

我要点赞

退出系统

二、需求:

1.需求分析:

买家:

买家订单基本信息-用户名,时间,地址,数量等

卖家:

菜品信息-单价、品种、点赞数

模块划分:

我要订餐--添加--insert -C(create) 查看餐袋--查询--read -R 签收订单--修改--update -U 删除订单--删除--delete -D 基本所有的项目都是在对数据进行增删改查(CRUD) 我要点赞--辅助功能 退出系统--流程控制

2.编写要求:

项目名---Foods 包名--cn.xx.controll 类名--OrderingMsg 项目编写完成需要制作成运行jar及bat文件

3.编写步骤:

定义变量--测试数据--搭建总框: do...while中嵌套switch,将跳转切换使用数字进行替换 查看订单 查看之前--循环之前先判定是否为空 添加订单 作业:补全是否继续的功能 添加注意打印小票和数组添加数据的分开操作 签收订单: 判定签收的情况:不存在该订单/存在不能签收/签收 删除订单: 将需要删除的数据之后的所有数据全部前移,然后将最后一条废数据清空 我要点赞: 显示菜单,然后将指定的点赞菜品添加1

三、代码分析:

1.定义变量:

//定义买家变量--数组
String[] names=new String[4];      //订餐人姓名
int[] times=new int[4];         //订餐时间-整点
String[] addresses=new String[4];    //订餐地址
String[] dishMegs=new String[4];     //所选菜品信息
double[] sumPrices=new double[4];    //总金额
int[] states=new int[4];         //订单状态信息
        
//定义卖家菜品变量--数组
String[] dishNames={"大肘子","锅包肉","辣鸭头","麻辣虾"};   //菜品信息
double[] prices={59,58,48,69};                       //菜品单价
int[] praiseNums={4,5};                              //菜品点赞数

2.框架模块:

do{
  System.out.println("*********************************************");
  System.out.println("1.我要订餐");
  System.out.println("2.查看餐袋");
  System.out.println("3.签收订单");
  System.out.println("4.删除订单");
  System.out.println("5.我要点赞");
  System.out.println("6.退出系统");
  System.out.println("*********************************************");
  System.out.println("请选择");
  num=input.nextInt();
  switch (num) {
    case 1:
      System.out.println("我要订餐");
      break;
    case 2:
      System.out.println("查看餐袋");
      break;
    case 3:
      System.out.println("签收订单");
      break;
    case 4:
      System.out.println("删除订单");
      break;
    case 5:
      System.out.println("我要点赞");
      break;
    case 6:
      System.out.println("退出系统");
      isExit=true;
      break;
    default:
      isExit=true;
      break;
   }

  //判定是否回退到一级菜单
  if(!isExit){
    System.out.println("输入0返回");
    num=input.nextInt();
   }else{
    break;
   }
}while(num==0);
System.out.println("欢迎下次使用!");  

3.查看餐袋:

for (int i = 0; i 

4.我要订餐:

for (int i = 0; i < names.length; i++) {
  //往数组添加内容-需要先获取数组空的位置-第一个位置--循环结束掉
  if(names[i]==null){
    //进入判定则标志着可以进行数据添加的空位---将标记进行修改
    isAdd=true;
    //添加订单
    System.out.println("请输入用户名"); //模拟登陆
    String name=input.next();
    //打印菜品信息
    System.out.println("序号  \t菜名 \t单价 \t点赞数");
    for (int j = 0; j < dishNames.length; j++) {
      String price=prices[j]+"元";
      String praise=(praiseNums[j]>0)?praiseNums[j]+"赞":"";
      System.out.println((j+1)+" \t"+dishNames[j]+" \t"+price+" \t"+praise);
     }
    System.out.println("请输入你选择的菜品的序号");
    int chooseDish=input.nextInt();
    System.out.println("请输入房购买的份数");
    int number=input.nextInt();
    //处理订餐信息和订餐总额
    String dishMeg=dishNames[chooseDish-1]+""+number+"份";
    double sumPrice=prices[chooseDish-1]*number;
    //判定是否需要进行配送费:超过50免配送费
    double deliCharge=(sumPrice>=50)?0:5;  //配送费
    //配送时间-如果时间输入不正确需要重复输入直到输入正确为止  10  -20
    System.out.println("请输入配送时间(10-20的整点)送餐");
    int time=input.nextInt();
    /*while(!(time>=10&&time<=20)){
                            System.out.println("您输入的时间不正确,请重新输入");
                            time=input.nextInt();
                        }*/
    while(time<10 ||time>20){
      System.out.println("您输入的时间不正确,请重新输入");
      time=input.nextInt();
     }
    System.out.println("请输入送餐地址");
    String address=input.next();

    //打印小票
    System.out.println("订餐成功!");
    System.out.println("您的订餐是"+dishMeg);
    System.out.println("餐费是"+sumPrice+",配送费是"+deliCharge+",总金额是"+(sumPrice+deliCharge));

    //将数据添加到数组中
    names[i]=name;
    dishMegs[i]=dishMeg;
    times[i]=time;
    addresses[i]=address;
    sumPrices[i]=sumPrice+deliCharge;
    //当将当前循环中添加完成以后直接循环结束
    break;
   }
}
//如果整个循环结束都没有找到空位,则表示当前餐袋已满
if(!isAdd){
  System.out.println("对不起,餐袋已满!");
}

5.签收订餐:

for (int i = 0; i 

6.删除订单:

for (int i = 0; i < names.length; i++) {
  if(names[i]!=null&&states[i]==1&&delId==i+1){
    //能找到订单并可以删除
    isDelFind=true;
    //执行删除操作,删除元素以后的所有数据依次移动--后续多个数据
    for (int j = delId-1; j < names.length-1; j++) {
      names[j]=names[j+1];
      dishMegs[j]=dishMegs[j+1];
      times[j]=times[j+1];
      addresses[j]=addresses[j+1];
      states[j]=states[j+1];
     }
    //最后一个数据进行清空还原处理
    names[names.length-1]=null;
    dishMegs[dishMegs.length-1]=null;
    times[times.length-1]=0;
    addresses[addresses.length-1]=null;
    states[states.length-1]=0;
    System.out.println("删除订单成功!");
    break;
   }else if(names[i]!=null&&states[i]==0&&delId==i+1){
    //能找到订单但是不能删除
    isDelFind=true;
    System.out.println("该订单未签收,不能被删除!");
    break;
   }
}

//如果循环结束都没有找到订单则表示不存在
if(!isDelFind){
  System.out.println("您要删除的订单不存在!");
}

7.我要点赞:

for (int i = 0; i < dishNames.length; i++) {
  String price=prices[i]+"元";
  String praiseNum=(praiseNums[i]>0)?praiseNums[i]+"赞":"";
  System.out.println((i+1)+"\t "+dishNames[i]+"\t "+price+"\t "+praiseNum);
}
System.out.println("请输入您需要点赞的菜品序号");
int praiseId=input.nextInt();
//将点赞内容进行自增
praiseNums[praiseId-1]++;
System.out.println("点赞成功!");

注意:

文章为核心代码,如果需要完整代码,可以随时私聊我,也可以加这个企鹅群720994366找管理要。

版权声明:我们致力于保护作者版权,注重分享,被刊用文章【java开发案例(JAVA项目案例详解)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!;

原文链接:https://www.yxiso.com/zhishi/2125548.html

标签:java开发案例

发表评论:

关于我们
院校搜的目标不仅是为用户提供数据和信息,更是成为每一位学子梦想实现的桥梁。我们相信,通过准确的信息与专业的指导,每一位学子都能找到属于自己的教育之路,迈向成功的未来。助力每一个梦想,实现更美好的未来!
联系方式
电话:
地址:广东省中山市
Email:beimuxi@protonmail.com

Copyright © 2022 院校搜 Inc. 保留所有权利。 Powered by BEIMUCMS 3.0.3

页面耗时0.0346秒, 内存占用1.93 MB, 访问数据库24次

陕ICP备14005772号-15

  • 我要关灯
    我要开灯
  • 客户电话

    工作时间:8:00-18:00

    客服电话

    电子邮件

    beimuxi@protonmail.com

  • 官方微信

    扫码二维码

    获取最新动态

  • 返回顶部