如何使用Java实现简单点餐系统
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,小编给大家分享一下如何使用Java实现简单点餐系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!程序控制分析:1、欢迎页循
千家信息网最后更新 2025年02月23日如何使用Java实现简单点餐系统
小编给大家分享一下如何使用Java实现简单点餐系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
程序控制分析:
1、欢迎页循环:do-while
2、Scanner 控制输入
3、选择页循环:switch-case
要求:
订单信息:String 二维数组
序号、姓名、餐品名称、份数、价格、总价、地址、时间(10-20)、状态(已预定、已完成)、热度(int型)
签收订单:改变订单状态,已预定可以签收,如果已经完成则不能再次签收。
删除订单:不能删除未完成订单,序号要随之改变。
我要点赞:对相应的餐品点赞,并展示。
package Practice;import java.util.Scanner;public class Obj { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String dishes[]={"红烧肉","烧熊掌","清蒸鱼","白斩鸡","烤乳鸽"}; int price[]={58,88,45,56,44}; int honors[]={50,100,20,12,44}; int hot[]={5,4,3,2,0}; String orders[][]=new String[1024][]; int chose=0; System.out. println("欢迎关岭红浪漫餐厅"); 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("请选择:"); chose=sc.nextInt();//订餐流程------------------------------------------------------------------------------------- switch (chose) { case 1: System.out.println("***我要订餐***"); System.out.println("请输入订餐人姓名:"); String name=sc.next(); System.out.println("序号 菜品 单价 热度"); for (int i = 0; i < dishes.length; i++) { System.out.println(i+1+"\t\t"+dishes[i]+"\t"+price[i]+"元\t"+"\t"+hot[i]); } int dishNum=0; do{ System.out.println("菜品编号"); dishNum=sc.nextInt(); if ((dishNum<1||dishNum>dishes.length)){ System.out.println("对不起,输入有误,请重新输入!"); } }while (dishNum<1||dishNum>dishes.length); int pcs=0; do { System.out.println("份数"); pcs=sc.nextInt(); if (pcs<1){ System.out.println("对不起,输入有误,请重新输入!"); } }while (pcs<1); int time; do { System.out.println("送餐时间"); time=sc.nextInt(); if (time<10||time>22){ System.out.println("对不起,输入有误,请重新输入!"); } }while (time<10||time>22); System.out.println("地址"); String addres=sc.next(); System.out.println("success!"); System.out.println( "您定的商品信息是:" +dishes[dishNum]+ "\t" +dishNum+"份"); System.out.println("送餐时间为"+time); double cost=price[dishNum-1]*pcs; double sent=cost>50?0:6; double total=cost+sent; System.out.println("餐费共计"+total+" 其中快递费"+sent+"元"); for (int i = 0; i < orders.length; i++) { if (orders[i]==null){ orders[i]=new String[3]; orders[i][0]=name+"\t"+dishes[dishNum-1]+"\t" +pcs+"份\t"+time+"\t"+addres+"\t"+cost+"元"; //orders第一存储 菜品信息 orders[i][1]="已预定"; //orders第二存储 订单信息 break; } } break;//查看餐袋------------------------------------------------------------------------------ case 2: System.out.println("***查看餐袋***"); System.out.println("序号\t订餐人 餐品信息 时间 地址 总金额 订单状态"); for (int i = 0; i < orders.length; i++) { if (orders[i]!=null){ System.out.println(i+1+"\t"+orders[i][0]+"\t\t"+orders[i][1]); }else{ break; } } break;//订单签收---------------------------------------------------------------------------- case 3: System.out.println("***签收订单***"); int num; int end=0; System.out.println("序号\t订餐人 餐品信息 时间 地址 总金额 订单状态"); for (int i = 0; i < orders.length; i++) { if (orders[i]!=null){ System.out.println(i+1+"\t"+orders[i][0]+"\t\t"+orders[i][1]); }else{ break; } } do { System.out.println("请输入要签收订单序号:"); for (int i = 0; i < orders.length; i++) { if (orders[i]==null){ end=i+1; break; } } num=sc.nextInt(); if (num<0||num>end){ System.out.println("输入有误"); }else if ("已预定".equals(orders[num-1][1])){ orders[num-1][1]="已完成"; System.out.println("订单已完成"); break; }else{ System.out.println("订单已签收,不能重复签收"); break; } }while (num<1||num>end||"已预定".equals(orders[num-1][1])); break;//删除订单------------------------------------------------------------------------ case 4: System.out.println("***删除订单***"); int n=0; //输入数字 int e=0; // 订单的最大数量 System.out.println("序号\t订餐人 \t餐品信息 \t送餐时间 \t地址 \t总金额 \t状态"); for (int i = 0; i < orders.length; i++) { if (orders[i]!=null){ System.out.print(i+1+"\t"+orders[i][0]+"\t"+orders[i][1]+"\t"); System.out.println("\t "+orders[i][1]); }else{ break; } } do { for (int i = 0; i < orders.length; i++) { //确定订单的最大数量 if (orders[i]==null){ e=i; break; } } System.out.println("要删除的订单编号:"); n=sc.nextInt(); if (n<1||n>e){ System.out.println("err"); }else if ( ! "已完成".equals(orders[n-1][1])){ System.out.println("订单未完成,不能删除"); break; }else{ boolean isDelete=false; for (int i = n-1; i < orders.length; i++) { if (i==orders.length-1){ orders[i]=null; isDelete=true; // }else{ orders[i]=orders[i+1]; //前移 if (orders[i]==null){ isDelete=true; break; } } } } }while (n<1||n>e||"已完成".equals(orders[n][1])); break;//我要点赞---------------------------------------------------------------------------- case 5: System.out.println("***我要点赞***"); int hp=0; System.out.println("请选择点赞菜品:"); hp=sc.nextInt(); if (hp<1||hp>dishes.length){ System.out.println("对不起,输入有误,请重新输入!"); }else{ hot[hp-1]++; } break;//退出系统------------------------------------------------------------------------------------ default: System.out.println("6、退出系统"); }//switch结束-------------------------------------------------------------------------------------- if (chose>0&&chose<6){ System.out.println("输入0返回!"); chose=sc.nextInt(); }else { break; }//----------------------------------------------------------------------------- }while (chose==0); System.out.println("输入0返回!"); }}
以上是"如何使用Java实现简单点餐系统"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
订单
输入
信息
序号
时间
系统
地址
状态
菜品
要点
篇文章
金额
选择
最大
份数
内容
姓名
我要
数量
热度
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
DMDW网络技术
网络安全回答十二题
数据库版本高的还原低版本
贵州省网络安全测评认证中心招聘
玩哈利波特总是重新连接服务器
工程数据库技术课程试题
苹果电脑删除缓存数据库
服务器有搭火服务吗
利用网络管理平台建立专业数据库
白天上网晚上无法连接服务器
c 连接数据库导出导入表格
欧洲专利局专利数据库
数据库搜索框
服务器应用程序哪个好
深圳市杰德网络技术有限公司
导引头产品数据库管理程序
3副本需要多少服务器
服务器安全狗蓝屏
邮储2019软件开发笔试题目
江西营销软件开发哪家好
内蒙古iptv服务器供应
服务器属性配置在哪里找
esxi离线下载服务器搭建
贵州省网络安全测评认证中心招聘
网络安全法多少年开始了
数据库快速导出到excel
数字孪生实时数据存入数据库
公司定制软件开发
恒铭达网络安全
我国儿童网络安全保护