因为用的是普通数组,所以编写的代码可能比较长,而且有的功能还比较不健全,代码如下:

0.定义数组(因为用static修饰可以不用New,比较方便,但可能比较损耗性能)

 //订餐人名字
static String [] names=new String[10];
//保存菜品
static String [] sums=new String[10];
//送餐时间
static int [] times=new int[10];
//地址
static String [] addres =new String[10];
//状态
static int [] states= new int[10];
//总金额
static double [] sumPrice=new double[10];
//点赞
static int [] upvote=new int[10];

数组

1.初始数据(因为没有用到数据库,所以只能用初始化数组)

 //初始化数据
public static void Inial() {
sums[0]="油炸脚趾盖";
sums[1]="红烧猪蹄";
sums[2]="鱼香肉丝"; sumPrice[0]=21.0;
sumPrice[1]=10.0;
sumPrice[2]=15; names[0]="本";
names[1]="本庆";
names[2]="我"; addres[0]="推动软件";
addres[1]="地狱火";
addres[2]="五道口"; states[0]=0;
states[1]=0;
states[2]=0; sumPrice[0]=21;
sumPrice[1]=50;
sumPrice[2]=15;
}

初始化数据

2.主菜单

 public static void Menu() {

         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("请选择");
String opterString=input.next();
switch (opterString) {
//订餐
case "1":
Dinner();
break;
//查看
case "2":
Show();
break;
//签收
case "3":
Sign();
break;
//删除
case "4":
delete();
break;
//点赞
case "5":
Upvote();
break;
case "6":
Exit();
break;
default:
System.out.println("没有该选项!!!");
break;
}
}

主菜单

3.订餐(因为编号不存在的菜品,不能选择)

 //订餐
public static void Dinner() {
System.out.println("***菜品展示****");
System.out.println("请输入订餐人");
String name=input.next();
System.out.println("序号"+"————————"+"菜品");
for (int i = 0; i < sums.length; i++) {
if (sums[i]!=null) {
System.out.println(i+1+""+sums[i]);
}
}
System.out.println("请输入您要点的菜品编号");
int id=input.nextInt();
id=id-1;
//System.out.println(id);
for (int j = 0; j < names.length; j++) {
if (names[j]==null) { //等于空就是没有数据
if (sums[j]==null || sums.length<id) { //数组为空 选择和下标 对比
System.out.println("没有该菜品编号,请重新选择");
Exit();
break;
}else {
System.out.println("请选择你需要的份数");
int num=input.nextInt(); System.out.println("请输入送餐时间(送餐时间是10点至20点间整点送餐:)");
int time=input.nextInt(); if (time>=20 || time<=10) {
System.out.println("时间不合法!!!");
Dinner();
return;
} System.out.println("请输入送餐地址:");
String add=input.next(); for (int i = 0; i < sums.length; i++) {
if (sums[i]!=null) {
if (i==id) {
names[i]=name;
if (num!=0) {
sumPrice[i]=sumPrice[i]*num;
}
addres[i]=add;
System.out.println(sums[i]+num+"份"+"???"+names[i]);
System.out.println(time+"点"+sumPrice[i]*num+"送餐费0.0元"+sumPrice[i]*num++);
break;
}
}
}
Exit();
}
}
} }

订餐Dinner()

4.查看

 //查看
public static void Show() {
System.out.println("*****查看餐袋*****");
System.out.println("序号"+"\t\t\t"+"订餐人"+"\t\t\t"+"菜品信息"+"\t\t\t\t"+"送餐日期"+"\t\t\t"+"地址"+"\t\t\t"+"价钱"+"\t\t\t"+"状态"+"\t\t\t"+"赞总计");
String temp= null;//ShowUtil(); //辅助方法
for (int i = 0; i <names.length ; i++) {
if (names[i]==null) {
continue;
}else {
if (states[i]==0) {
temp="已预订";
}else {
temp="已完成";
}
System.out.println(i+1+"\t\t\t"+names[i]+"\t\t\t\t"+sums[i]+"\t\t\t"+times[i]+"日"+"\t\t\t\t"+addres[i]+"\t\t\t\t"+sumPrice[i]+"\t\t\t\t"+temp+"\t\t\t\t"+upvote[i]);
}
}
Exit();
}

查看Show()

5.签收(签收挺恶心的,因为需要比较输入的和状态并且不为空的条件下)

 //签到
public static void Sign() {
System.out.println("******签到******");
System.out.println("请选择签到序号");
int num=input.nextInt();
num-=1;
for (int i = 0; i < names.length; i++) {
if (names[i]!=null) {
if (states[i]!=0) { //说明签到了
System.out.println("已经签到过!!!");
break;
}else {
if (num==i && states[i]==0 &&names[i]!=null) { //num和i对比 状态与0对比 并且不等于空
states[num]=1;
System.out.println("签到成功!!!!");
break;
}else {
System.out.println("已经签到了");
break;
}
}
}
}
Exit();
}

签到Sign()

6.删除(其实就是让数组初始化)

 //删除
public static void delete() {
System.out.println("*****删除订单****");
System.out.println("请输入要删除的订单序号:");
int oper= input.nextInt();
oper-=1;
for (int i = 0; i < names.length; i++) {
if (names[i]!=null) {
if (oper==i) { //找到了 置空
names[i]=null;
states[i]=0;
sumPrice[i]=0;
addres[i]=null;
times[i]=0;
System.out.println("删除成功!!!");
break;
}else {
System.out.println("删除失败!!!");
break;
}
}
}
Exit();
}

删除delete()

7.点赞

 //点赞
public static void Upvote() {
System.out.println("*****点赞****");
System.out.println("请输入序号");
int num=input.nextInt();
num-=num;
for (int i = 0; i < names.length; i++) {
if (names[i]!=null) {
upvote[i]+=1;
System.out.println("点赞成功!");
break;
}
}
Exit();
}

点赞Upvote()

8.退出

 //退出
public static void Exit() {
System.out.println("按0返回主菜单");
int operString=input.nextInt();
if (operString==0) {
Menu();
}else {
System.out.println("程序退出!");
}
}

退出Exit()

还是需要基础的!!!!!!!!

java基础之吃货联盟的更多相关文章

  1. java基础10 吃货联盟点餐系统

    public class OrderMsg { public static void main(String[] args) throws Exception { /** * 订餐人姓名.选择菜品.送 ...

  2. 小项目,吃货联盟,java初级小项目,源代码

    1:项目的实现效果.功能如图所示. 2:项目的源代码如下: import java.util.Scanner; /** * 吃货联盟订餐管理系统 * */ public class OrderingM ...

  3. 吃货联盟订餐系统 源代码 Java初级小项目

    咳咳,今天博主给大家写一个小的项目:吃货联盟订餐系统.博主不是大神(互联网架构师的路上ing),也是小白一个,不过是刚入门的小白^_^.项目功能也很简单:只是模拟日常的订餐流程呦,所以有错误以及功能不 ...

  4. Java 吃货联盟

    import java.util.Scanner; public class Shao {  private static final int[] dishNames = null;  private ...

  5. JAVA吃货联盟项目。

    1基础通过数组.选择结构.循环等实 现吃货联盟订餐系统. 1.我要订餐: 2.查看餐袋: 3.签收订单: 4.删除订单: 5.我要点赞: 6.退出系统: public class Doy001 { p ...

  6. java-logic====吃货联盟

    1.系统界面 2.功能一 3.查看餐袋 4.签收订单 5.删除订单 6.我要点赞 主要分在两个类中: 第一个类entity,主要的是一些共有的属性 主要代码: public class entity ...

  7. JAVA基础(代码)练习题61~90

    JAVA基础 61.设计一个方法打印数组{'a','r','g','s','e','r'}中下标为1和3的的元素 package Homework_90; /** * 设计一个方法打印数组{'a',' ...

  8. java基础练习 字符串,控制流,日历,日期等

    1,对基本控制流程的一些练习 package org.base.practice3; import org.junit.Test; /** * Created with IntelliJ IDEA. ...

  9. 微冷的雨Java基础学习手记(一)

    使用Java理解程序逻辑 之凌波微步 船舶停靠在港湾是很安全的,但这不是造船的目的 北大青鸟五道口原玉明老师出品 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要 ...

随机推荐

  1. [bzoj3209][花神的数论题] (数位dp+费马小定理)

    Description 背景众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦.描述话说花神这天又来讲课了.课后照例有超级难的神题啦…… 我等蒟蒻又遭殃了. ...

  2. Spring MVC--第一个程序

    项目:primary 完成功能:用户提交一个请求,服务器端处理器在接收到这个请求后,给出一条欢迎信息,在响应页面中显示该信息. (1)导入jar包 在创建好web项目后,首先导入jar包.Spring ...

  3. 【Lqb T336】Cowboys

    [链接] 我是链接,点我呀:) [题意] 出现AB就要交换一下 给你结果序列 问你原序列有多少种可能 首尾可以交换. [题解] 设 dp[i][0]表示i和i-1不交换,达到前i个字符序列的状态的方案 ...

  4. POJ 1019 数学题

    #include <cstdio> #include <cstring> using namespace std; ]; //sum[i]表示尾数为i的组最大可达到的数字个数 ...

  5. [luoguP2387] 魔法森林(LCT + 并查集)

    传送门 并查集真是一个判断连通的好东西! 连通性用并查集来搞. 把每一条边按照 a 为关键字从小到大排序. 那么直接枚举,动态维护 b 的最小生成树 用 a[i] + 1 ~ n 路径上最大的 b[i ...

  6. Codeforces Round #244 (Div. 2)

    今天是水题集啊.... A. Police Recruits time limit per test 1 second memory limit per test 256 megabytes inpu ...

  7. [K/3Cloud]如何解决K3Cloud 2.0审批流提交时报“队列不存在,或您没有足够的权限执行该操……

    按照图上的操作即可解决不可提交的问题,但如果应用服务器是部署在域环境下,应该不会出错,这是微软support上说的

  8. centos 7: 迁移MySQL目录

    Steps: 1. systemctl stop mariadb 2. mkdir data destination folder, ex: /home/mysql 3. cp -R /var/lib ...

  9. 【转】keyCode对照表及JS监听组合按键

    原文: http://blog.csdn.net/qq_21386275/article/details/67640576 有一些需求,html 页面上的input 框只允许输入数字,  只允许输入小 ...

  10. uva 11212 - Editing a Book(迭代加深搜索 IDA*) 迭代加深搜索

    迭代加深搜索 自己看的时候第一遍更本就看不懂..是非常水,但智商捉急也是没有办法的事情. 好在有几个同学已经是做过了这道题而且对迭代加深搜索的思路有了一定的了解,所以在某些不理解的地方询问了一下他们的 ...