设为首页收藏本站
网站公告 | 这是第一条公告
     

 找回密码
 立即注册
缓存时间09 现在时间09 缓存数据 我们所有的努力所有的奋斗,都是为了拥有一个美好的未来。和遇见更好的自己。请把努力当成一种习惯,而不是三分钟热度。每一个你羡慕的收获,都是努力用心拼来的。早安!

我们所有的努力所有的奋斗,都是为了拥有一个美好的未来。和遇见更好的自己。请把努力当成一种习惯,而不是三分钟热度。每一个你羡慕的收获,都是努力用心拼来的。早安!

查看: 1107|回复: 1

Java实现简单点餐系统

[复制链接]

  离线 

TA的专栏

  • 打卡等级:热心大叔
  • 打卡总天数:205
  • 打卡月天数:0
  • 打卡总奖励:3115
  • 最近打卡:2023-08-27 07:17:36
等级头衔

等級:晓枫资讯-上等兵

在线时间
0 小时

积分成就
威望
0
贡献
438
主题
394
精华
0
金钱
4388
积分
855
注册时间
2022-12-20
最后登录
2025-5-31

发表于 2025-3-13 22:41:30 | 显示全部楼层 |阅读模式

用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+"\t"+price+"元\t"+"\t"+hot);
                    }

                    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==null){
                            orders=new String[3];
                            orders[0]=name+"\t"+dishes[dishNum-1]+"\t"
                                    +pcs+"份\t"+time+"\t"+addres+"\t"+cost+"元";  //orders第一存储 菜品信息
                            orders[1]="已预定";                      //orders第二存储 订单信息
                            break;
                        }
                    }

                    break;
//查看餐袋------------------------------------------------------------------------------
                case 2:
                    System.out.println("***查看餐袋***");
                    System.out.println("序号\t订餐人  餐品信息 时间 地址 总金额    订单状态");
                    for (int i = 0; i < orders.length; i++) {
                        if (orders!=null){
                            System.out.println(i+1+"\t"+orders[0]+"\t\t"+orders[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!=null){
                            System.out.println(i+1+"\t"+orders[0]+"\t\t"+orders[1]);
                        }else{
                            break;
                        }
                    }

                    do {
                        System.out.println("请输入要签收订单序号:");
                        for (int i = 0; i < orders.length; i++) {
                            if (orders==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!=null){
                            System.out.print(i+1+"\t"+orders[0]+"\t"+orders[1]+"\t");
                            System.out.println("\t  "+orders[1]);
                        }else{
                            break;
                        }
                    }


                    do {
                        for (int i = 0; i < orders.length; i++) {        //确定订单的最大数量
                            if (orders==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=null;
                                isDelete=true;          //
                            }else{
                                orders=orders[i+1];   //前移
                                if (orders==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返回!");
    }

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持晓枫资讯。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
晓枫资讯-科技资讯社区-免责声明
免责声明:以上内容为本网站转自其它媒体,相关信息仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同其观点或证实其内容的真实性。
      1、注册用户在本社区发表、转载的任何作品仅代表其个人观点,不代表本社区认同其观点。
      2、管理员及版主有权在不事先通知或不经作者准许的情况下删除其在本社区所发表的文章。
      3、本社区的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,举报反馈:点击这里给我发消息进行删除处理。
      4、本社区一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
      5、以上声明内容的最终解释权归《晓枫资讯-科技资讯社区》所有。
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~

  离线 

TA的专栏

等级头衔

等級:晓枫资讯-列兵

在线时间
0 小时

积分成就
威望
0
贡献
0
主题
0
精华
0
金钱
14
积分
8
注册时间
2022-12-25
最后登录
2022-12-25

发表于 昨天 06:03 | 显示全部楼层
顶顶更健康!!!
http://bbs.yzwlo.com 晓枫资讯--游戏IT新闻资讯~~~
严禁发布广告,淫秽、色情、赌博、暴力、凶杀、恐怖、间谍及其他违反国家法律法规的内容。!晓枫资讯-社区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼

手机版|晓枫资讯--科技资讯社区 本站已运行

CopyRight © 2022-2025 晓枫资讯--科技资讯社区 ( BBS.yzwlo.com ) . All Rights Reserved .

晓枫资讯--科技资讯社区

本站内容由用户自主分享和转载自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

如有侵权、违反国家法律政策行为,请联系我们,我们会第一时间及时清除和处理! 举报反馈邮箱:点击这里给我发消息

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表