实例介绍
【实例简介】帮助莘莘学子完成项目,提供思路
import java.util.Scanner;
/**
* 订单操作类
* @author DELL
*
*/
public class OrderingUtil {
//第一个:定义可供选择的菜品 //是用来给用户选择用的
Dishes[] dishe = new Dishes[3];
//第二个:订单信息类对象,相当于用户餐袋
Orderingset oSet = new Orderingset();
/**
* 初始化方法
*/
public void init() {
//初始化菜品
Dishes ds1 = new Dishes();
ds1.name = "红烧带鱼";
ds1.Price = 38.0;
ds1.Dzs = 0;
Dishes ds2 = new Dishes();
ds2.name = "鱼香肉丝";
ds2.Price = 20.0;
ds2.Dzs = 0;
Dishes ds3 = new Dishes();
ds3.name = "时令鲜蔬";
ds3.Price = 10.0;
ds3.Dzs = 0;
dishe[0] = ds1;
dishe[1] = ds2;
dishe[2] = ds3;
//先往餐袋里面放两个订单
//第一个订单
oSet.names[0] = "张晴";
oSet.dishMegs[0] = "红烧带鱼2份";
oSet.times[0] = 3;
oSet.addresses[0] = "天堂";
oSet.states[0] = 1;
oSet.sumPrices[0] = 76.0;
//第二个订单
oSet.names[1] = "张晴";
oSet.dishMegs[1] = "鱼香肉丝2份";
oSet.times[1] = 10;
oSet.addresses[1] = "天堂";
oSet.states[1] = 0;
oSet.sumPrices[1] = 46.0;
}
/**
* 系统操作类
*/
public void Menu() {
boolean ad=false;
Scanner input = new Scanner(System.in);
int num = 0;
System.out.println("\n欢迎使用“吃货联盟订餐系统”");
// 循环:显示菜单,根据用户选择的数字执行相应功能
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.print("请选择:");
int choose = input.nextInt(); // 记录用户选择的功能编号
// 根据用户选择的功能编号执行相应功能
switch (choose) {
case 1:
// 我要订餐
System.out.println("***我要订餐***");
add();
//订餐方法
break;
case 2:
// 查看餐袋
System.out.println("***查看餐袋***");
//查看方法
display();
break;
case 3:
// 签收订单
System.out.println("***签收订单***");
sign();
//签收方法
break;
case 4:
// 删除订单
System.out.println("***删除订单***");
delete();
break;
case 5:
// 我要点赞
System.out.println("***我要点赞***");
praise();
break;
case 6:
// 退出系统
break;
default:
//退出系统
break;
}
if(!ad) {
System.out.println("输入0返回:");
num=input.nextInt();
}else {
break;
}
} while (num == 0);
System.out.println("谢谢使用,欢迎下次光临!");
}
/**
* 第一遍查看餐袋方法
*/
void display(){
System.out.println("序号\t订餐人\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.dishMegs[i] "\t\t" date "\t" oSet.addresses[i] "\t\t" sumPrice "\t" state);
}
}
}
/**
* 订餐的方法
*/
void add() {
//第一步:判断餐袋是否已满。满了就不能预订了。
//第二步:打印给客户要点的菜。
//第三步:客户选择,并生成订单成功信息。
//第四步:把订单信息加到我的餐袋。
Scanner input = new Scanner(System.in);
boolean fig = false; //记录餐袋是否已满
//第一步
for (int i = 0; i < oSet.names.length; i ) {
if(oSet.names[i] == null) {
//实行第二步
System.out.println("请输入订餐人的姓名:");
String name = input.next();
System.out.println("序号\t菜名\t单价\t点赞数");
//循环打印对象数组
for (int j = 0; j < dishe.length; j ) {
System.out.println((j 1) "\t" dishe[j].name "\t"
dishe[j].Price "\t" dishe[j].Dzs);
}
//第三步:胡可选择
System.out.println("请选择您要点的菜品编号:");
int num = input.nextInt(); //菜品编号
System.out.println("请选择您需要的份数:");
int fz = input.nextInt(); //份数
System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
int time = input.nextInt();
while (time < 10 || time > 20) {
System.out.println("时间选择错误,请重新选择:");
time = input.nextInt();
}
System.out.println("请输入送餐地址:");
String dz = input.next();
System.out.println("订餐成功!");
String cp = dishe[num-1].name fz "份"; //生成了你的菜品
System.out.println("您订的是:" cp);
System.out.println("送餐时间:" time);
double scf = 0.0; //送餐费
double cf = dishe[num-1].Price * fz;
if(cf < 50) {
scf = 5.0;
}
System.out.println("餐费:" cf ",送餐费:" scf ",总计:" (cf scf));
//第四步:把客户选择的信息添加到我的餐袋
oSet.names[i] = name;
oSet.dishMegs[i] = cp;
oSet.addresses[i] = dz;
oSet.times[i] = time;
oSet.sumPrices[i] = (cf scf);
oSet.states[i] = 0; //代表已预订
fig = true;
break;
}
}
if(fig) {
return;
} else {
System.out.println("您的餐袋已满!");
return;
}
}
void sign() {
Scanner input=new Scanner(System.in);
boolean isSignFind=false;//找到要签收的订单
System.out.println("请选择要签收的订单序号:");
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.println("订单签收成功!");
isSignFind=true;//已找到此订单
}else if(oSet.names[i]!=null&&oSet.states[i]==1&&signOrderId==i 1) {
System.out.println("您选择的订单已完成签收,不能再次签收!");
isSignFind=true;//标记已找到此订单
}
}if(!isSignFind) {
System.out.println("您选择的订单不存在!");
}
}
void delete() {
Scanner input=new Scanner(System.in);
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.dishMegs[j]=oSet.dishMegs[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.dishMegs[endIndex]=null;
oSet.times[endIndex]=0;
oSet.addresses[endIndex]=null;
oSet.states[endIndex]=0;
oSet.sumPrices[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;
}
}
//未找到该序号的订单:不能删除
if(!isDelFind) {
System.out.println("您要的订单不存在!");
}
}
void praise() {
Scanner input=new Scanner(System.in);
//显示菜品信息
System.out.println("序号" "\t" "菜名" "\t" "单价");
for (int j = 0; j < dishe.length; j ) {
String priaiseNum=(dishe[j].Dzs)>0?dishe[j].Dzs "赞":"";
System.out.println((j 1) "\t" dishe[j].name "\t"
dishe[j].Price "\t" dishe[j].Dzs);
}
System.out.println("请选择你要点赞商品序号:");
int priaiseNum=input.nextInt();
dishe[priaiseNum-1].Dzs ;//点赞加1
System.out.println("点赞成功!");
}
}
【实例截图】
import java.util.Scanner;
/**
* 订单操作类
* @author DELL
*
*/
public class OrderingUtil {
//第一个:定义可供选择的菜品 //是用来给用户选择用的
Dishes[] dishe = new Dishes[3];
//第二个:订单信息类对象,相当于用户餐袋
Orderingset oSet = new Orderingset();
/**
* 初始化方法
*/
public void init() {
//初始化菜品
Dishes ds1 = new Dishes();
ds1.name = "红烧带鱼";
ds1.Price = 38.0;
ds1.Dzs = 0;
Dishes ds2 = new Dishes();
ds2.name = "鱼香肉丝";
ds2.Price = 20.0;
ds2.Dzs = 0;
Dishes ds3 = new Dishes();
ds3.name = "时令鲜蔬";
ds3.Price = 10.0;
ds3.Dzs = 0;
dishe[0] = ds1;
dishe[1] = ds2;
dishe[2] = ds3;
//先往餐袋里面放两个订单
//第一个订单
oSet.names[0] = "张晴";
oSet.dishMegs[0] = "红烧带鱼2份";
oSet.times[0] = 3;
oSet.addresses[0] = "天堂";
oSet.states[0] = 1;
oSet.sumPrices[0] = 76.0;
//第二个订单
oSet.names[1] = "张晴";
oSet.dishMegs[1] = "鱼香肉丝2份";
oSet.times[1] = 10;
oSet.addresses[1] = "天堂";
oSet.states[1] = 0;
oSet.sumPrices[1] = 46.0;
}
/**
* 系统操作类
*/
public void Menu() {
boolean ad=false;
Scanner input = new Scanner(System.in);
int num = 0;
System.out.println("\n欢迎使用“吃货联盟订餐系统”");
// 循环:显示菜单,根据用户选择的数字执行相应功能
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.print("请选择:");
int choose = input.nextInt(); // 记录用户选择的功能编号
// 根据用户选择的功能编号执行相应功能
switch (choose) {
case 1:
// 我要订餐
System.out.println("***我要订餐***");
add();
//订餐方法
break;
case 2:
// 查看餐袋
System.out.println("***查看餐袋***");
//查看方法
display();
break;
case 3:
// 签收订单
System.out.println("***签收订单***");
sign();
//签收方法
break;
case 4:
// 删除订单
System.out.println("***删除订单***");
delete();
break;
case 5:
// 我要点赞
System.out.println("***我要点赞***");
praise();
break;
case 6:
// 退出系统
break;
default:
//退出系统
break;
}
if(!ad) {
System.out.println("输入0返回:");
num=input.nextInt();
}else {
break;
}
} while (num == 0);
System.out.println("谢谢使用,欢迎下次光临!");
}
/**
* 第一遍查看餐袋方法
*/
void display(){
System.out.println("序号\t订餐人\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.dishMegs[i] "\t\t" date "\t" oSet.addresses[i] "\t\t" sumPrice "\t" state);
}
}
}
/**
* 订餐的方法
*/
void add() {
//第一步:判断餐袋是否已满。满了就不能预订了。
//第二步:打印给客户要点的菜。
//第三步:客户选择,并生成订单成功信息。
//第四步:把订单信息加到我的餐袋。
Scanner input = new Scanner(System.in);
boolean fig = false; //记录餐袋是否已满
//第一步
for (int i = 0; i < oSet.names.length; i ) {
if(oSet.names[i] == null) {
//实行第二步
System.out.println("请输入订餐人的姓名:");
String name = input.next();
System.out.println("序号\t菜名\t单价\t点赞数");
//循环打印对象数组
for (int j = 0; j < dishe.length; j ) {
System.out.println((j 1) "\t" dishe[j].name "\t"
dishe[j].Price "\t" dishe[j].Dzs);
}
//第三步:胡可选择
System.out.println("请选择您要点的菜品编号:");
int num = input.nextInt(); //菜品编号
System.out.println("请选择您需要的份数:");
int fz = input.nextInt(); //份数
System.out.println("请输入送餐时间(送餐时间是10点至20点整点送餐):");
int time = input.nextInt();
while (time < 10 || time > 20) {
System.out.println("时间选择错误,请重新选择:");
time = input.nextInt();
}
System.out.println("请输入送餐地址:");
String dz = input.next();
System.out.println("订餐成功!");
String cp = dishe[num-1].name fz "份"; //生成了你的菜品
System.out.println("您订的是:" cp);
System.out.println("送餐时间:" time);
double scf = 0.0; //送餐费
double cf = dishe[num-1].Price * fz;
if(cf < 50) {
scf = 5.0;
}
System.out.println("餐费:" cf ",送餐费:" scf ",总计:" (cf scf));
//第四步:把客户选择的信息添加到我的餐袋
oSet.names[i] = name;
oSet.dishMegs[i] = cp;
oSet.addresses[i] = dz;
oSet.times[i] = time;
oSet.sumPrices[i] = (cf scf);
oSet.states[i] = 0; //代表已预订
fig = true;
break;
}
}
if(fig) {
return;
} else {
System.out.println("您的餐袋已满!");
return;
}
}
void sign() {
Scanner input=new Scanner(System.in);
boolean isSignFind=false;//找到要签收的订单
System.out.println("请选择要签收的订单序号:");
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.println("订单签收成功!");
isSignFind=true;//已找到此订单
}else if(oSet.names[i]!=null&&oSet.states[i]==1&&signOrderId==i 1) {
System.out.println("您选择的订单已完成签收,不能再次签收!");
isSignFind=true;//标记已找到此订单
}
}if(!isSignFind) {
System.out.println("您选择的订单不存在!");
}
}
void delete() {
Scanner input=new Scanner(System.in);
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.dishMegs[j]=oSet.dishMegs[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.dishMegs[endIndex]=null;
oSet.times[endIndex]=0;
oSet.addresses[endIndex]=null;
oSet.states[endIndex]=0;
oSet.sumPrices[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;
}
}
//未找到该序号的订单:不能删除
if(!isDelFind) {
System.out.println("您要的订单不存在!");
}
}
void praise() {
Scanner input=new Scanner(System.in);
//显示菜品信息
System.out.println("序号" "\t" "菜名" "\t" "单价");
for (int j = 0; j < dishe.length; j ) {
String priaiseNum=(dishe[j].Dzs)>0?dishe[j].Dzs "赞":"";
System.out.println((j 1) "\t" dishe[j].name "\t"
dishe[j].Price "\t" dishe[j].Dzs);
}
System.out.println("请选择你要点赞商品序号:");
int priaiseNum=input.nextInt();
dishe[priaiseNum-1].Dzs ;//点赞加1
System.out.println("点赞成功!");
}
}
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论