如何使用Java实现简单点餐系统
发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,小编给大家分享一下如何使用Java实现简单点餐系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!程序控制分析:1、欢迎页循
千家信息网最后更新 2025年11月08日如何使用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安全错误
数据库的锁怎样保障安全
vb中连接数据库代码
工业互联网网络安全攻防软件
网络安全系统技术规范
聊城服务器租赁报价
服务器安装失败什么原因
服务器web管理界面打开慢
互联网平台科技创新
网络安全手抄报写什么
衡水财务软件开发哪家好
病毒防治属于网络安全技术吗
yale b 数据库下载
阳光产险网络安全保险
负责网络安全的部门6
网络安全教育幼儿
最安全的几个云服务器
尊赢足球软件开发
服务器 gpt
数据库关键字详解
时时彩自动下单软件开发
软件开发技术落后怎么办
月嫂行业软件开发哪个好
安徽存储服务器机箱上哪找云主机
cfps数据库独生子女
硅谷网络安全是什么
安装服务器系统用什么格式
泗洪什么是网络技术供应商家
系统服务器在后端
数据库表字符串是什么
王先生是一家软件开发公司
奉贤区智能软件开发培训