OrderingUtil类

import java.util.Scanner;public class OrderingUtil {Scanner input = new Scanner(System.in);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] = "天成路207号";oset.sumPrices[0] = 76.0;oset.states[1] = 0;oset.names[1] = "张晴";oset.dishMegs[1] = "鱼香肉丝 2份";oset.times[1] = 18;oset.addresses[1] = "天成路207号";oset.sumPrices[1] = 45.0;oset.states[1] = 0;}public void startMenu() {int num = -1;boolean isExit = false;System.out.println("\n欢迎使用“吃货联盟订餐系统”");int choose;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.print("请选择:");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:System.out.println("谢谢使用,欢迎下次光临!");isExit = true;break;default:isExit = true;break;}if (!isExit) {System.out.print("输入0返回:");num = input.nextInt();} else {break;}} while (num == 0);}void display() {System.out.println("序号\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);}}}boolean add() {Boolean isAdd = false;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.print("请选择您要点的菜单编号:");int chooseDish = input.nextInt();System.out.print("请选择您需要的份数:");int number = input.nextInt();String dishMeg = dishNames[chooseDish - 1] + " " + number + "份";double sumPrice = prices[chooseDish - 1] * number;double deliCharge = (sumPrice >= 50) ? 0 : 5;System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");int time = input.nextInt();while (time < 10 || time > 20) {System.out.print("您的输入有误,请输入10~20间的整数!");time = input.nextInt();}System.out.print("请输入送餐地址:");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;}}void sign() {boolean isSignFind = false;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("您选择的订单不存在!");}}void delete() {boolean isDelFind = false;System.out.println("请输入要删除的订单序号:");int delId = input.nextInt();for (int i = 0; i < oset.names.length; i++) {if (oset.names[i] != null && oset.states[i] == 1 && delId == i + 1) {isDelFind = 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.names[endIndex] = null;oset.dishMegs[endIndex] = null;oset.times[endIndex] = 0;oset.addresses[endIndex] = null;oset.states[endIndex] = 0;oset.sumPrices[endIndex] = 0;System.out.println("删除订单成功!");break;} else if (oset.names[i] != null && oset.states[i] == 0&& delId == i + 1) {System.out.println("您选择的订单未签收,不能删除!");isDelFind = true;break;}}if (!isDelFind) {System.out.println("您要删除的订单不存在!");}}void praise() {System.out.println("序号" + "\t" + "菜名" + "\t" + "单价");for (int i = 0; i < dishNames.length; i++) {String price = prices[i] + "元";String priaiseNum = (praiseNums[i]) > 0 ? praiseNums[i] + "赞" : "";System.out.println((i + 1) + "\t" + dishNames[i] + "\t" + price+ "\t" + priaiseNum);}System.out.println("请选择您要点赞的菜品序号:");int priaiseNum = input.nextInt();praiseNums[priaiseNum - 1]++;System.out.println("点赞成功!");}
}

OrderingSet类

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];double[] sumPrices = new double[4];public static void main(String[] args) {OrderingUtil om = new OrderingUtil();om.initial();om.startMenu();}}

执行结果




Java吃货联盟订餐系统相关推荐

  1. Java吃货联盟订餐系统1.3-面向对象+I/O流

    吃货联盟订餐系统 author:luckyboy! version:1.3 知识储备:变量.数据类型.选择结构.循环结构.数组.面向对象.集合和I/O流 吃货联盟订餐系统概述 现在的互联网时代,足不出 ...

  2. Java——吃货联盟订餐系统(基础知识)

    项目需求     (1)现今已经进入网络时代,人们的日常生活已经离不开网络,如网上购物.看新闻.交友等.     (2)"只要点点手指,就能送餐上门",网上订餐越来越受到都市年轻人 ...

  3. 10、Java——吃货联盟订餐系统(基础知识)

    目录 项目需求 项目环境准备 案例覆盖的技能点 难点分析 1. 使用数组对象保存订单信息 2.访问订单信息 3. 删除订单信息 4. 计算订单的总金额 项目实现思路 1. 数据初始化 2. 实现菜单切 ...

  4. 29、Java——吃货联盟订餐系统(对象+XML)

    ​ ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进.

  5. 11、Java——吃货联盟订餐系统(对象+数组)

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进.

  6. 37、Java——吃货联盟订餐系统(JDBC+MySQL+Apache DBUtils)

    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进.

  7. java吃货联盟app讲解_吃货联盟订餐系统——JAVA实现

    package com.chihuo; import java.util.Scanner; public class OrderingMgr { public static void main(Str ...

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

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

  9. Java程序编写 • 【第9章 程序:用定义类实现,吃货联盟订餐系统,新增商家和评论功能】

    本章节总结 返回作业目录 <吃货联盟订餐系统> 功能展示1:订餐 功能展示2:查看订单 功能展示3:签收订单 功能展示4:删除订单 功能展示5:商家评论 代码足有500多行,我会拆分开,进 ...

最新文章

  1. 论文返修与校对的经验教训
  2. ansible 发部署nginx以及更新、回滚
  3. 《系统集成项目管理工程师》必背100个知识点-60干系人管理
  4. How To Make JMeter Behave More Like A Real Browser
  5. C/C++ atol函数- C语言零基础入门教程
  6. 【Python】Matplotlib绘制三维散点图
  7. cuSPARSE库:(十四)求解稀疏三角形线性系统(solution of sparse triangular linear systems)
  8. IWAM账号 HTTP500内部错误
  9. Spring Security(二) UserDetailsService 和 PasswordEncoder 密码解析器 详解
  10. 英读廊——如果运动引起摩擦,摩擦生热,为什么风吹得越快却越冷
  11. Transformer最新综述
  12. 微信小程序使用font awsome图标库(最新fontawsome5)
  13. 谷歌开源 3D 数据压缩算法 Draco以及代码分析
  14. Orcad 16.6中批量修改网络名
  15. 清明柳枝亭子小桥flash动画素材
  16. IntelliJ IDEA 绝对好用快捷键
  17. android使用Vitamio实现视频播放大小屏流畅切换
  18. 什么是dB、dBm、dBc?
  19. uc浏览器视频缓存合并工具
  20. Windows系统安装虚拟机以及Linux系统

热门文章

  1. 差异分析流程(一)数据预处理
  2. 计算机cad相关证书,cad证书含金量 工资一般是多少
  3. Animator 实现动画完成事件的一些思考
  4. Python机器学习-多元分类的5种模型
  5. gpfdist故障诊断
  6. jQuery学习笔记整理---03部分
  7. 看不懂别做爬虫-----python爬虫实战---大众点评评论
  8. NoClassDefFoundError解决方案
  9. 网卡清空缓存命令_怎么清除dns缓存 查看与刷新本地DNS缓存方法 (全文)
  10. SR-IOV 网卡虚拟化技术