关于java的基础练习,可以更有效的来找到自己的不足之处,也可以锻炼自己的编程思想,这个吃货联盟系统包含了基础概念,变量、数据类型,也练习了顺序,选择,循环,跳转语句的编写编程的能力,最后还要求你会使用数组,操作字符串,会使用方法,并且会定义类、创建并使用对象

下面是我自己做的吃货联盟点餐系统,如有不好之处,望大家多多包涵,我还是个小白(狗头)

    第一步先创建数组,用OrderingSet类来创建

package com.chihuolianmeng;public class OrderingSet {String [] names = new String[4];     //保存订餐人名称String [] dishMegs =new String[4];  //保存所选信息,包括菜品名及份数int [] times =new int[4];           //保存送餐时间String [] addresses =new String[4]; //保存送餐地址int [] states =new int[4];          //保存订单状态,0 表示已预定,1 表示已完成double [] sumPrices =new double[4]; //保存订单的总金额
}

 第二步在类OrderingUtil中,创建OrderingSet类对象oSet,实现初始化数据的方法initia()

package com.chihuolianmeng;import java.util.Scanner;public class OrderingUtil {String [] dishNames ={"红烧带鱼","鱼香肉丝","时令鲜蔬"};      //菜单名称double [] prices =new double[]{38.0, 20.0,10.0};         //菜品单价int [] PraiseNums=new  int[3];                           //点赞数OrderingSet oSet =new OrderingSet();;public void initial(){//初始化第一条订单信息oSet.names[0] ="张晴";oSet.dishMegs[0]="红烧带鱼 2份";oSet.times[0] =12;oSet.addresses[0] ="天成路 2 0 7号";oSet.sumPrices [0] =76.0;oSet.states[0] =1;//初始化第二条订单信息oSet.names[1] ="张晴";oSet.dishMegs[1]="鱼香肉丝 2份";oSet.times[1] =18;oSet.addresses[1] ="天成路 2 0 7号";oSet.sumPrices [1] =45.0;oSet.states[1] =0;}

  第三步:创建系统住菜单,并写出实现6个实现的方法,用switch来进行选择

 public void startMenu(){OrderingUtil om =new OrderingUtil();Scanner input =new Scanner(System.in);int num =-1;        //用户输入 0 返回主菜单,否则退出系统boolean isExit =false;   //标志用户是否退出系统 :true退出系统System.out.println("\n欢迎使用”吃货联盟点餐系统 ");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("请选择-->");int choose =input.nextInt();  //记录用户选择的功能编号switch (choose){case 1://我要订餐System.out.println("* * * * 我要订餐* * * * ");add();break;case 2://查看餐袋System.out.println("* * * * 查看餐袋* * * * ");display();break;case 3://签收订单System.out.println("* * * * 签收订单* * * * ");sign();break;case 4://删除订单System.out.println("* * * * 删除订单* * * * ");delete();break;case 5://我要点赞System.out.println("* * * * 我要点赞* * * * ");praise();break;case 6://退出系统isExit =true;System.out.println("* * * * 退出系统* * * * ");break;default://退出系统isExit =true;break;}if(!isExit){System.out.println("输入 0 返回:");num =input.nextInt();}else {break;}}while (num ==0);}//参看餐袋public  void display(){System.out.println("序号\t 订餐人\t 餐品信息\t\t 送餐时间\t 送餐地址\t\t 总金额\t 订单状态");for (int i = 0; i < oSet.names.length; i++) {if(oSet.names[i] !=null){String state =(oSet.states[i]==0)? "已预定" :"已完成";String date =oSet.times[i]+"点";String sumPrice =oSet.sumPrices[i]+"元";System.out.println((i+1)+"\t"+oSet.names[i]+"\t"+oSet.dishMegs[i]+"\t"+date+"\t"+oSet.addresses[i]+"\t"+sumPrice+"\t"+state);}}}//我要订餐public boolean add(){boolean isAdd =false;                                           //记录是否可以订餐Scanner input =new Scanner(System.in);for (int j =0;j<oSet.names.length;j++){if(oSet.names[j]==null){isAdd =true;System.out.println("请输入订餐姓名");String name = input.next();                             //姓名//显示供先择的菜品信息System.out.println("序号"+"\t"+"菜名"+"\t"+"单价"+""+"\t"+"点赞数");for (int i =0;i<dishNames.length;i++){String price =prices[i]+"元";String priaiseNum=(PraiseNums[i])>0? PraiseNums[i]+"赞":"0";System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);}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;           //餐品总金额double deliCharge =(sumPrice>=50)?0:5;                  //送餐金额System.out.println("请输入配送时间(送餐时间是10点至20点间的整点送餐");int time =input.nextInt();                             //配送时间while (time<10 && time>20){System.out.println("你输入的有误,请输入10-20之间的整数");time =input.nextInt();}System.out.println("请输入送餐地址");String address =input.next();                          //配送地址System.out.println("订餐成功");System.out.println("您订的是:"+dishMeg);System.out.println("送餐时间为"+time+"点");System.out.println("餐费"+sumPrice+"元,送餐费为"+deliCharge+"元,总计:"+(sumPrice+deliCharge)+"元");oSet.names[j] =name;oSet.dishMegs[j]=dishMeg;oSet.times[j]=time;oSet.addresses[j]=address;oSet.sumPrices[j] =sumPrice+deliCharge;break;}}if(!isAdd){System.out.println("对不起,您的餐袋已满!");return false;}else {return true;}}//签收订单public void sign(){Scanner input =new Scanner(System.in);boolean isSignFind = false;                 //找到要签收的订单display();System.out.println("请选择要签收的订单");int signorderId =input.nextInt();for (int i = 0; i < oSet.names.length; i++) {if(oSet.names[i]!= null  && oSet.states[i]==0 && signorderId==i+1){oSet.states[i] =1;System.out.println("订单签收成功");isSignFind =true;       //标记已找到此订单}else if (oSet.names[i]!= null  && oSet.states[i]==1 && signorderId==i+1){System.out.println("您选择的订单已签收,不能再次签收哦");isSignFind =true;       //标记已找到此订单}}//未找到的订单序号:不可签收if(!isSignFind){System.out.println("您选择的订单不存在");}}//删除订单public void delete(){boolean isDelete =false;//标记是否找到要删除订单display();System.out.println("请输入要删除的订单序号:");int delId =new Scanner(System.in).nextInt();for (int i=0;i<oSet.names.length;i++){if(oSet.names[i]!= null  && oSet.states[i]==1 && delId==i+1){isDelete =true;for(int j =delId-1;j<oSet.names.length-1;j++){oSet.names[j]=oSet.names[j+1];                      //姓名oSet.dishMegs[j]=oSet.dishMegs[j+1];                //餐品信息oSet.times[j]=oSet.times[j+1];                      //送餐时间oSet.addresses[j]=oSet.addresses[j+1];              //收货地址oSet.states[j]=oSet.states[j+1];                    //点赞数oSet.sumPrices[j]=oSet.sumPrices[j+1];              //总价}int endIndex =oSet.names.length-1;oSet.dishMegs[endIndex]=null;oSet.times[endIndex]=0;oSet.addresses[endIndex]=null;oSet.sumPrices[endIndex]=0;oSet.states[endIndex]=0;System.out.println("删除订单成功!");break;}else if (oSet.names[i]!= null  && oSet.states[i]==0 && delId==i+1){System.out.println("您选择的订单未签收,不能删除");isDelete =true;break;}}if(!isDelete){System.out.println("您要删除的订单不存在!");}}//我要点赞public void praise(){System.out.println("序号"+"\t"+"菜名"+"\t"+"单价");for (int i =0;i<dishNames.length;i++){String price =prices[i]+"元";String prianiseNum=(PraiseNums[i])>0 ?PraiseNums[i]+"赞" :" ";System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+prianiseNum);}System.out.println("请选择您要点赞的菜品序号:");int priaiseNum =new Scanner(System.in).nextInt();PraiseNums[priaiseNum-1]++;  //点赞数加1System.out.println("点赞成功");}
}

  第四步:编写OrderingMgr类,实例化OrderingUtil对象,调用对象方法,实现程序入口功能。

package com.chihuolianmeng;public class OrderingMgr {public static void main(String[] args) {OrderingUtil om =new OrderingUtil();om.initial();om.startMenu();}
}

最后感谢大家的观看,我就是一个小白,对照着书自己理解着些的,不喜勿喷

北大青鸟,Java基础练习,S1结业项目:“吃货联盟点餐系统”相关推荐

  1. 项目案例:吃货联盟,订餐系统

    package com.myProject.demo;import java.util.Scanner;public class firstProject {public static void ma ...

  2. 吃货联盟点餐java面向对象_使用面向对象思想编写吃货联盟

    packagecom.dingcanxitong3;//创建一个功能的类实现各个功能接口 importjava.util.Scanner;public class Functions implemen ...

  3. Day3.6之吃货联盟项目

    "吃货联盟定餐系统"需求说明 现今已进入网络时代,网上购物.看新闻.交友等人们的日常生活已离不开网络."只要点点手指,就能送餐上门",网上定餐越来越受到都市年轻 ...

  4. java吃货联盟app讲解_java吃货联盟订餐系统

    ackage cn.practice1200; import java.util.Scanner; public class Eater_Alliance { /** * 吃货联盟订餐系统 * * @ ...

  5. java吃货联盟app讲解_Java吃货联盟订餐系统代码实例

    package cn.practice1200; import java.util.Scanner; public class Eater_Alliance { /** * 吃货联盟订餐系统 * * ...

  6. 北大青鸟java第一单元项目_北大青鸟java第一单元项目迷你TXT小说阅读器

    [实例简介] 自用 已通过老师检测 得分88分 北大青鸟java第一单元项目迷你TXT小说阅读器,可以作为java se学习项目也可以作为其他项目,项目完整可直接运行 [实例截图] [核心代码] TX ...

  7. 北大青鸟java项目实践_s2 北大青鸟Java S2 八个上机考试项目 Develop 249万源代码下载- www.pudn.com...

    开发工具: Java 文件大小: 2526 KB 上传时间: 2015-12-17 下载次数: 0 提 供 者: 彬 详细说明:北大青鸟Java S2 八个上机考试项目-Aptech Java S2 ...

  8. 北大青鸟java超市账单管理系统_北大青鸟java第二单元超市账单管理系统

    [实例简介] 北大青鸟java第二单元考试项目超市账单管理系统,需要的话尽快下载,北大青鸟学习java的各个校区已经想学java的都可以拿去看 [实例截图] [核心代码] fabd4fde-6fe2- ...

  9. 泰安北大青鸟 Java培训_泰山区岱岳javaEE开发职业学校_java编程

    泰安北大青鸟为您导航泰山区岱岳javaEE开发职业学校,java编程,欢迎来电! 泰安北大青鸟泰山区岱岳javaEE开发职业学校,环境变量规范的说是操作系统中运来指定操作系统运行环境的一些参数,当要求 ...

最新文章

  1. 用python编程代码画图形_python编程:如何使用python代码绘制出哪些常见的机器学习图像?...
  2. React Native的TextInput组件去掉下划线和使用背景图片
  3. php mssql image,php5连接mssql2005数据库表中的image字段图片显示
  4. python ConfigParser 小试
  5. BZOJ 1460 Pku2114 Boatherds
  6. Martix工作室考核题 —— 打印九九乘法表
  7. java 字符串是对象吗_解析Java中的String对象的数据类型
  8. 年轻人有梦想,老人有回忆
  9. ubuntu查看pip安装的软件路径
  10. Install/Remove of the Service Denied
  11. 【吐血整理】数据库的安全性
  12. r语言算巢式设计方差分析_R语言学习笔记(七):方差分析
  13. Linux内核调试技术指南
  14. 解决Office 打开Excel 空白问题
  15. ----- 前端面试题 -----
  16. Jenkins高级篇之Pipeline语法篇-7-Declarative Pipeline指令:triggers/stage/tool
  17. 声艺数字调音台si说明书32路_Soundcraft/声艺 Si Expression 3 32路数字调音台
  18. CDAC单位电容取值
  19. 《中国人工智能学会通讯》——12.15 时空众包 : 共享经济时代的新型计算范式...
  20. 什么是专利查新检索报告?

热门文章

  1. 监理工程师岁月--蓝精灵的帽子
  2. ubuntu18虚拟机克隆之后ip相同的解决方案
  3. Ubuntu 18.04 LTB安装系统主要步骤+自主分区+文件家用共享
  4. 使用java编程恢复乱码
  5. ZStack Cloud助力深圳燃气打造智慧燃气,纳管阿里云和VMware
  6. 圆形div阴影显示图
  7. 除了寻找梅森素数,分布式技术还能做这些!
  8. 信息管理毕业设计题目大全
  9. 山西电力市场日前价格预测【2023-06-19】
  10. Final Cut Pro X Logic Pro X: 1 Audio Post Workflow Final Cut Pro X和Logic Pro X:1音频后期工作流程 Lynda课程中