如何使用Java实现简单点餐系统
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,小编给大家分享一下如何使用Java实现简单点餐系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!程序控制分析:1、欢迎页循
千家信息网最后更新 2024年11月24日如何使用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安全错误
数据库的锁怎样保障安全
深圳软件开发联系方式
gps gis 软件开发
我国推出的网络安全法规
数据库中有哪些约束及其特点
魅蓝2音乐服务器超时
mysql数据库搬家
侠道服务器
java连接数据库超时
学校网络安全总结500字
下载服务器安全证书
张家港十大网络技术
卫生院信息网络安全培训
大学生网络安全意识调查报告导言
成武软件开发技术服务至上
魔兽btc审判服务器如何
修改ip对数据库有影响吗
学校网络安全培训工作方案
宁夏网络安全竞赛学生
第三方机构数据库
学习完数据库的感受
保险软件开发工程师
上海质量软件开发推荐咨询
深圳前海同益网络技术有限公司
网络安全的理解收获与体会
王鑫网络安全工程师
软件开发毕业5年内
网络安全安全教育宣传周
软件开发测试外包报价
无线网络技术课堂笔记
中小学网络安全政策法规