吃货联盟订餐系统 源代码 Java初级小项目
咳咳,今天博主给大家写一个小的项目:吃货联盟订餐系统。博主不是大神(互联网架构师的路上ing),也是小白一个,不过是刚入门的小白^_^。项目功能也很简单:只是模拟日常的订餐流程呦,所以有错误以及功能不完善的地方大家多多包涵 O(∩_∩)O哈哈~
首先,先展示下代码功能,代码也不是很多,就200多行!主要功能如下:




首先进入系统后,是菜单的展示:

用户输入选择,并对输入的选择进行判断,如果有误,就退出系统!

用户输入1后,进行点餐,并输入点餐人姓名,以及点的份数和时间、地址,会自动计算出费用返回给用户。

用户输入2后,可以查看餐袋,发现自己点的订单已在餐袋中

用户输入3后,可以签收订单,如果订单是已预订状态,可以进行签收;如果是已完成状态,不能签收订单;否则提示用户找不到订单信息,不能签收!

用户输入4后,可以对订单进行删除。如果订单是已预订状态,不能删除;如果是已完成状态,可以删除;否则提示用户找不到订单,不能删除!

用户输入5后,可以进行点赞,输入点赞的序号,进行点赞。返回后可以再次进入进行查看点赞数!!!

用户输入6后,退出系统!!!
package cn.kgc.sg.Demo;
import java.util.*; public class DingCanSystem {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); String names[] = new String[4]; //姓名
String dishMsg[] = new String[4]; //菜品信息
int times[] = new int[4]; //送餐时间
String address[] = new String[4]; //送餐地址
int states[] =new int[4]; //订单状态 0:已完成 1:已预订
double sumPrices[] = new double[4]; //订单总金额 names[0] = "孙港";
dishMsg[0] = "玉米";
times[0] = 12;
address[0] = "柏悦澜庭";
states[0] = 1;
sumPrices[0] = 100; names[1] = "王玥";
dishMsg[1] = "大米";
times[1] = 14;
address[1] = "中博校区";
states[1] = 0;
sumPrices[1] = 200;
System.out.println("欢迎光临吃货联盟订餐系统》》》》》》》");
System.out.println("**************************");
/**
* 定义并初始化菜单信息
*/
String dishMeg[] = {"西红柿炒鸡蛋","火锅牛肉","泡椒凤爪"};
double prices[] ={58,99,36};
int [] zan =new int[4];
boolean isExit = false; //false 不退出系统
int nums = -4; //随意赋值
do{
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.print("请输入您的选择: ");
int choose = sc.nextInt(); boolean isAdd =false; //false 是不能点餐
boolean isFind = false ;//false 不能找到订单编号
boolean isDel = false; //false 不能删除
switch(choose){
case 1:
System.out.println("*****我要订餐*****");
for(int i = 0;i<names.length;i++){
if(names[i] == null){
isAdd = true;
System.out.print("请输入订餐人的姓名:");
String name = sc.next();
//遍历菜单信息 System.out.println("序号"+"\t\t"+"菜单"+"\t\t"+"单价"+"\t\t"+"点赞数");
for(int j = 0 ;j<dishMeg.length;j++){
String yuan = prices[j]+"元";
System.out.println((j+1)+"\t\t"+dishMeg[j]+"\t\t"+yuan+"\t\t"+zan[j]);
}
System.out.print("请输入订餐的编号:");
int bianhao = sc.nextInt();
String dishName = dishMeg[bianhao-1]; System.out.print("请输入订餐的份数:");
int fen = sc.nextInt();
double p=prices[bianhao-1];
double sumPrice = p*fen;
int ptf = sumPrice>50 ? 0 : 6; System.out.print("请输入订餐时间(营业时间在10-20点):");
int time = sc.nextInt();
while(time<10 || time>20){
System.out.print("请在营业时间内订餐(10-20点),请重新输入:");
time = sc.nextInt();
}
System.out.print("请输入送餐地址:");
String dizhi = sc.next();
System.out.println(".............订餐成功...........");
System.out.println("您订的是:"+dishName+" ,"+fen+"份!");
System.out.println("餐费是:"+sumPrice+",送餐费是:"+ptf+"元,合计:"+(sumPrice+ptf)+"元!"); //将对应的值存到数组中
names[i]=name;
times[i]=time;
address[i]=dizhi;
dishMsg[i]= dishName; //dishMeg
sumPrices[i]=(sumPrice+ptf);
break;
}
}
if(!isAdd){
System.out.println("sorry,餐袋已满,不能点餐!!!");
}
break; case 2:
System.out.println("*****查看餐袋*****");
System.out.println("序号"+"\t\t"+"订餐人"+"\t\t"+"菜品信息"+"\t\t"+"送餐日期"+"\t\t"+
"送餐地址"+"\t\t"+"总金额"+"\t\t"+"订单状态");
for(int i=0;i<names.length;i++){
if(names[i] != null){
String time = times[i]+"时";
String price = sumPrices[i]+"元";
String state=states[i]== 1 ? "已完成" : "已预订"; System.out.println((i+1)+"\t\t"+names[i]+"\t\t"+dishMsg[i]+"\t\t"+time+
"\t\t"+address[i]+"\t\t"+price+"\t\t"+state);
}
}
break; case 3:
System.out.println("***********签收订单**********");
System.out.print("请选择要签收的编号:");
int orderId = sc.nextInt();
for(int i=0;i<names.length;i++){
if(names[i] != null && states[i]==0 && orderId == i+1){
//可以签收
states[i]=1;
isFind = true;
System.out.println("订单签收成功!");
break;
}else if(names[i] != null && states[i]==1 && orderId == i+1){
//不能签收
isFind = true;
System.out.println("订单不能签收!");
break;
}
}
if(!isFind){
System.out.println("输入的订单号有误!!!");
}
break; case 4:
System.out.println("*********删除订单*********");
System.out.print("请输入删除的订单编号:");
int delId = sc.nextInt();
//循环遍历数组
for(int i = 0;i<names.length;i++){
//判断是否可删除 存在的状态
if(names[i] != null && states[i]==1 && delId==i+1){
//能删除
isDel = true;
for(int j=delId-1;j<names.length-1;j++){
names[j]=names[j+1];
times[j]=times[j+1];
dishMsg[j]=dishMsg[j+1];
address[j]=address[j+1];
sumPrices[j]=sumPrices[j+1];
states[j]=states[j+1];
}
System.out.println("已完成的订单已被删除!!!");
//将最后一个位置置空
names[names.length-1] = null;
times[names.length-1] = 0;
dishMsg[names.length-1] = null;
address[names.length-1] = null;
sumPrices[names.length-1] = 0;
states[names.length-1] = 0;
break; }else if(names[i] != null && states[i]==0 && delId==i+1) {
//不能删除
isDel = true;
System.out.println("订单未完成,不能删除!!!"); }
}
if(!isDel){
System.out.println("您输入的订单号有误!!!");
}
break; case 5:
System.out.println("******我要点赞******");
System.out.println("序号"+"\t\t"+"菜单"+"\t\t"+"单价"+"\t\t"+"点赞数");
for(int j = 0 ;j<dishMeg.length;j++){
String yuan = prices[j]+"元";
System.out.println((j+1)+"\t\t"+dishMeg[j]+"\t\t"+yuan+"\t\t"+zan[j]);
}
System.out.print("请输入您要点赞的序号:");
int num = sc.nextInt();
zan[num-1]=zan[num-1]+999;
System.out.println("恭喜您点赞成功!!!");
break; case 6:
isExit = true;
break;
default:
isExit = true;
} if(!isExit){
System.out.print("输入0返回!(请再次输入):");
nums = sc.nextInt();
}else{
break;
} }while(nums == 0);
System.out.println("成功退出系统,欢迎下次使用!"); }
}
好啦,今天就到这里,下次继续 。O(∩_∩)O哈哈~
ps:如果有想学Java开发的童鞋或者零基础的,我这里有些Java开发资料,还有Java高级特性和分布式服务等资料,可以相互交流啊!!!
吃货联盟订餐系统 源代码 Java初级小项目的更多相关文章
- 迷你图书管理系统 源代码 Java初级小项目
今天博主再给大家分享一个小项目:MiNi图书管理系统.用的是Java语言开发的,代码不多,大概260行左右吧,系统是实现图书的新增图书.删除图书.借阅图书.归还图书.查看图书等简单的功能(后附源代码) ...
- 嗖嗖移动大厅 源代码 Java初级小项目
今天给大家一个比较综合的项目:嗖嗖移动业务大厅.项目功能很多,概括的功能也很全面.吃透了这个项目,你的java基础部分已经非常棒了!!! 一 . 项目概述 技能要求 使用面向对象设计的思想 合 ...
- 小项目,吃货联盟,java初级小项目,源代码
1:项目的实现效果.功能如图所示. 2:项目的源代码如下: import java.util.Scanner; /** * 吃货联盟订餐管理系统 * */ public class OrderingM ...
- 掷骰子游戏窗体实现--Java初级小项目
掷骰子 **多线程&&观察者模式 题目要求:<掷骰子>窗体小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰 ...
- JAVA吃货联盟项目。
1基础通过数组.选择结构.循环等实 现吃货联盟订餐系统. 1.我要订餐: 2.查看餐袋: 3.签收订单: 4.删除订单: 5.我要点赞: 6.退出系统: public class Doy001 { p ...
- java基础10 吃货联盟点餐系统
public class OrderMsg { public static void main(String[] args) throws Exception { /** * 订餐人姓名.选择菜品.送 ...
- Java 吃货联盟
import java.util.Scanner; public class Shao { private static final int[] dishNames = null; private ...
- java初学小项目-酒店客房管理系统
最近初次接触JAVA,感觉之前学的C语言很有用,跟着视频做了一个小项目-酒店客房管理系统 /* 酒店客房管理系统 */ import java.util.Scanner;//通过键盘来输入命令需要的引 ...
- java基础之吃货联盟
因为用的是普通数组,所以编写的代码可能比较长,而且有的功能还比较不健全,代码如下: 0.定义数组(因为用static修饰可以不用New,比较方便,但可能比较损耗性能) //订餐人名字 static S ...
随机推荐
- java方式实现堆排序
一.堆排序和堆相关概念描述 堆排序是指利用堆这种数据结构所设计的一种排序算法.堆是一个近似完全二叉树的结构,并同时满足堆的性质:即子结点的值总是小于(或者大于)它的父节点,若子结点的值总是小于它的父节 ...
- 【python系统学习16】编码基础知识
编码 计算机是怎么传输和存储数据的? 就是把人类认识的中英文字.其他国家语言.数字甚至运算符等符号转成二进制的0.1,并进行存储和传输. 编码 人类语言:中英文字.其他国家语言.数字甚至运算符等符号 ...
- jchdl - GSL实例 - Mul(无符号数的乘法)
这里实现最原始的阵列乘法,逐位相乘然后加到一起. 参考链接 https://github.com/wjcdx/jchdl/blob/edcc3e098d4f1cb21677e86e87a114 ...
- ES6背记手册
ES6规范 阮一峰的ES6在线教程 在线图书--Exploring ES6 ES6 tutorials babel在线教程--https://babeljs.io/docs/en/learn.html ...
- Dubbo源码笔记-服务注册
今天来简单做一下Dubbo服务注册部分源码学习手记. 一.Dubbo配置解析 目前Dubbo最多的用法就是跟Spring集成,既然跟Spring集成,那么,Dubbo对象的实例化都将交由Spring统 ...
- Java实现蓝桥杯 九宫幻方
九宫幻方 D: 今天做一道题目 九宫幻方 小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分. 三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行.每一列和每一条对 ...
- SQL Server实现 LeetCode 178 分数排名
178. 分数排名 SQL架构 编写一个 SQL 查询来实现分数排名.如果两个分数相同,则两个分数排名(Rank)相同.请注意,平分后的下一个名次应该是下一个连续的整数值.换句话说,名次之间不应该有& ...
- Java实现 蓝桥杯 基因牛的繁殖
基因牛的繁殖 张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛.如此循环下去,请问张教授n年后有多少头母牛? 以下程序模拟了这 ...
- Android Button的四种点击事件
bta1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.m ...
- java代码(2)---Java8 Stream
stream Java8新特性Stream流,那Stream表达式到底是什么呢,为什么可以使你的代码更加整洁而且对集合的操作效率也会大大提高? 一.概述 1.什么是Stream Stream是一种可供 ...