吃货联盟点餐系统

package cn.c;

public class OrderingMgr {

/**
* @param args
*/
public static void main(String[] args) {
OrderingUtil oUtil=new OrderingUtil();

oUtil.startMenu();
}

}

package cn.c;

/**
*订单类
*/
public class OrderingSet {

//数组主体:一组订单信息
String[] names=new String[4]; //保存订餐人名称
String[] disMegs= new String[4]; //保存所选信息,包括菜品名及份数
int[] times=new int[4]; //保存送餐时间
String[] addresses=new String[4]; //保存送餐地址
int[] states=new int[4]; //保存订餐状态 :0表示已预定,1表示已完成
double[] sumPrices=new double[4]; //保存订单的总金额

}

package cn.c;

import java.util.Scanner;

public class OrderingUtil {

//供选择的菜品信息
String[] dishNames={"红烧带鱼","鱼香肉丝","时令蔬菜"}; //菜品名称
double[] prices=new double[]{38.0,20.0,10.0}; //菜品单价
int[] praiseNums=new int[3]; //点赞数

Scanner input=new Scanner(System.in);

/**
* 1.我要订餐
*/
OrderingSet oSet=new OrderingSet();
public boolean add(){
boolean isAdd=false; //记录是否可以订餐

for (int j= 0; j< oSet.names.length; ++j) {
if (oSet.names[j]==null) { //找到一个空位置,可以添加订单信息
isAdd=true; //置标志位,可以订餐
System.out.print("请输入订餐人姓名:");
String name=input.next();

//显示供选择的菜品信息
System.out.println("序号"+"\t"+"菜名"+"\t"+"单价"+"\t"+"点赞数");
for (int i = 0; i < dishNames.length; i++) {
String price=prices[i]+"元";
String praiseNum=(praiseNums[i]>0 ?praiseNums[i]+"赞":"0");
System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+praiseNum);
}

//用户点菜
System.out.print("请选择您要点的菜品的编号:");
int chooseDish=input.nextInt();
System.out.print("请选择您需要的份数:");
int number=input.nextInt();

String dishMeg=dishNames[chooseDish-1]+" "+number+"份";
double sumPrice= prices[chooseDish-1] *number;

//餐满50元,免费送餐费5元
double deliCharge=(sumPrice>=50)?0:5;

System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");
int time=input.nextInt();

System.out.print("请输入送餐地址:");
String address=input.next();

//无序添加,默认是0,即预定状态
System.out.println("订餐成功!");
System.out.println("您定的是:"+dishMeg);
System.out.println("餐费"+sumPrice+"元,送餐费"+deliCharge+"元,总计:"+(sumPrice+deliCharge)+"元。");

//添加数据
oSet.names[j]=name;
oSet.disMegs[j]=dishMeg;
oSet.times[j]=time;
oSet.addresses[j]=address;
oSet.sumPrices[j]=sumPrice+deliCharge;
break;

}

}
if (!isAdd) {
System.out.println("对不起,您的订餐已满!");
return false;

}else {
return true;
}

}

/**
* 2.查看餐袋
*/
public void initial(){

System.out.println("序号\t订餐人\t餐品信息\t\t送餐时间\t送餐地址\t总金额\t订单状态");
for (int i = 0; i < oSet.names.length; i++) {
if (oSet.names[i]!=null) {
String state=(oSet.states[i]==0)?"已预定":"已完成";
String date= oSet.times[i]+"点";
String sumPrice= oSet.sumPrices[i]+"元";
System.out.println((i+1)+"\t"+ oSet.names[i]+"\t"+oSet.disMegs[i]+"\t"+date+"\t"+ oSet.addresses[i]+"\t"+sumPrice+"\t"+state);
}

}
}

/**
*3.签收订单
*/
public void sign(){
boolean isSignFind=false; //找到要签收的订单

System.out.print("请选择要签收的订单:");
int signOrderId=input.nextInt();
for (int i = 0; i < oSet.names.length; i++) {
//状态已预定,序号为用户输入的订单序号减1:可签收
//状态已完成,序号为用户输入的订单序号减1:不可签收
if(oSet.names[i]!=null&&oSet.states[i]==0&&signOrderId==i+1){
oSet.states[i]=1; //将状态值置为已完成
System.out.print("订单签收成功!");
isSignFind=true;//已找到要签收的订单
}else if (oSet.names[i]!=null&&oSet.states[i]==1&&signOrderId==i+1) {
System.out.print("您选择的订单已完成签收,不能再次签收!");
isSignFind=true;//已找到要签收的订单
}

}

//未找到的订单序号:不可签收
if(!isSignFind){
System.out.println("您选择的订单不存在!");
}

}

/**
*4.删除订单
*/
public void delete(){
boolean isDelFind=false;//标记是找到要删除的订单

System.out.println("请输入要删除的订单序号:");
int delId=input.nextInt();
for (int i = 0; i < oSet.names.length; i++) {
//状态已完成,序号值为用户输入的序号减:1 可删除
//状态已预定,序号值为用户输入的序号减:1 不可删除
if (oSet.names[i]!=null&&oSet.states[i]==1&&delId==i+1) {
isDelFind=true; //标记此订单已经找到
//执行删除操作:删除位置后的元素依次前移
for (int j =delId-1; j < oSet.names.length-1; j++) {
oSet.names[j]=oSet.names[j+1];
oSet.disMegs[j]=oSet.disMegs[j+1];
oSet.times[j]=oSet.times[j+1];
oSet.addresses[j]=oSet.addresses[j+1];
oSet.states[j]=oSet.states[j+1];
oSet.sumPrices[j]=oSet.sumPrices[j+1];
}
//最后一位清空
int endIndex=oSet.names.length-1;
oSet.names[endIndex]=null;
oSet.disMegs[endIndex]=null;
oSet.times[endIndex]=0;
oSet.addresses[endIndex]=null;
oSet.sumPrices[endIndex]=0;
oSet.states[endIndex]=0;

System.out.println("删除订单成功");
break;
}else if (oSet.names[i]!=null&&oSet.states[i]==0&&delId==i+1) {

System.out.println("您选择的订单未签收,不能删除!");
isDelFind=true; //标记已找到此订单
break;
}

}
}

/**
*5.我要点赞
*/
public void praise(){
//显示菜品信息
System.out.println("序号"+"\t"+"菜品名"+"\t"+"单价");
for (int i = 0; i <dishNames.length; i++) {
String price=prices[i]+"元";
String priaiseNum=(praiseNums[i]>0 ? praiseNums[i]+"赞":"");

System.out.println((i+1)+"\t"+dishNames[i]+"\t"+price+"\t"+priaiseNum);

}

System.out.print("请选择要点赞的菜品序号:");
int priaiseNum=input.nextInt();
praiseNums[priaiseNum-1]++; //赞数加1
System.out.println("点赞成功");
}

/**
*开始菜单
*/
public void startMenu(){

int num=-1; //用户输入0返回主菜单,否则退出系统
boolean isExit=false; //标志用户是否退出系统:true为退出系统

System.out.println("\n欢迎使用“吃货联盟订餐系统”");

//循环:显示菜单,根据用户选择数字执行相应功能

do{
//显示菜单
System.out.println("*****************************");
System.out.println("1、我要订餐\n2、查看餐袋\n3、签收订单\n4、删除订单\n5、我要点赞\n6、退出系统");
System.out.print("请选择:");
int choose=input.nextInt();
//根据用户输入的功能编号,执行相应的功能
switch (choose) {
case 1:
//我要订餐
System.out.println("****我要订餐****");
add();
break;
case 2:
//查看餐袋
System.out.println("****查看餐袋****");
initial();
break;
case 3:
//签收订单
System.out.println("****签收订单****");
sign();
break;
case 4:
//删除订单
System.out.println("****删除订单****");
delete();
break;
case 5:
//我要点赞
System.out.println("****我要点赞****");
praise();
break;
case 6:
//退出系统
System.out.println("谢谢使用,欢迎下次光临!");
isExit=true;
break;

default:
//退出系统4
isExit=true;
break;
}
if (!isExit) {
System.out.println("输入0返回:");
num=input.nextInt();
}else {

break;
}
}while(num==0);
}

}

原文地址:https://www.cnblogs.com/BingBing-Deng/p/9352974.html

时间: 2024-08-12 19:54:08

吃货联盟点餐系统的相关文章

吃货联盟订餐系统

实现菜单切换: System.out.println("欢迎使用吃货联盟订单系统"); Scanner input = new Scanner(System.in); int num=-1//用户输入0返回主菜单,否则退出系统; bolean isExit=false//标志用户是否退出系统; do{ //显示菜单 System.out.println("********************************************"); System.o

第一个项目--------------吃货联盟订餐系统

吃货联盟订餐系统 运行效果如图所示: 1.系统界面 2..功能一 3.查看餐袋 4.签收订单 6.我要点赞 1 package cn.zt; 2 3 import java.util.Scanner; 4 import java.util.jar.Attributes.Name; 5 6 public class OrderingMgr { 7 8 /** 9 * @param args 10 */ 11 public static void main(String[] args) { 12 /

吃货联盟订餐系统---添加注释

package com.shuzu; import java.util.Scanner; public class Chihuolianmeng_3 { //吃货订餐联盟---老师版 public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("欢迎使用"吃货联盟订餐系统""); String choose = ""

房上的猫:吃货联盟项目

一.首先先定义部分成员变量: String[] name = new String[4];// 订餐人 String[] greens = new String[4];// 储存菜品名称 String[] green = { "红烧带鱼", "鱼香肉丝", "时令鲜蔬" };// 菜品 int[] num = new int[4];// 份数 int[] time = new int[4];// 时间 String[] site = new St

JAVA吃货联盟项目。

1基础通过数组.选择结构.循环等实 现吃货联盟订餐系统. 1.我要订餐: 2.查看餐袋: 3.签收订单: 4.删除订单: 5.我要点赞: 6.退出系统: public class Doy001 { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] names = new String[4]; String[] dishMegs = new String[4]; int

吃货联盟项目

public class ddddd { String []name =new String[4];//保存订单人姓名 String []dishMegs =new String[4];//保存所选信息,包括菜品名及份数 String []time =new String[4];//保存送餐时间 String[]address =new String[4];//保存送餐地址 int[]states =new int[4];//保存订单状态:0表预订.1表示完成 double []sumPrice

案例&gt;&gt;&gt;吃货联盟订餐

import java.util.Scanner; public class VersionAlliance { public static void main(String[] args) { Scanner input = new Scanner(System.in); String[] names = new String[4]; // 保存订餐人姓名 String[] dishMegs = new String[4]; // 保存菜名和分数的所选信息 String[] addresses

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

1:项目的实现效果.功能如图所示. 2:项目的源代码如下: 1 import java.util.Scanner; 2 3 /** 4 * 吃货联盟订餐管理系统 5 * 6 */ 7 public class OrderingMsg { 8 public static void main(String[] args) { 9 // 数据主体:一组订单信息 10 String[] names = new String[4]; // 订餐人名称 11 String[] dishMegs = new

重写吃货联盟

需求:根据所学面的向对象以及集合知识,重写吃货联盟 1 /** 2 * @author Administrator 3 * 菜单类 4 */ 5 public class Mune { 6 private int num;//菜单序号 7 private String muneNmae;//菜品名 8 private double price;//菜品单价 9 private int Zan;//点赞数 10 public Mune(int num, String muneNmae, doubl