package com.company.zsy;
public class uesr {
int id;
String name;
String sex;
String passwd;
double balance; //积分
String borthday = "2000-9-4";
String adress = "安徽";
int Point=1000;
String Power = "普通用户";
//普通用户
public uesr(int id, String name, String sex, String passwd, double balance) {
this.id = id;
this.name = name;
this.sex = sex;
this.passwd = passwd;
this.balance = balance;
}
//管理员
public uesr(int id, String name, String sex, String passwd, double balance,String power) {
this.id = id;
this.name = name;
this.sex = sex;
this.passwd = passwd;
this.balance = balance;
this.Power = power;
}
}
package com.company.zsy;
import com.company.Day2.Menu;
public class orderHistory {
int order;//订单号
carOrder[] menu;
String state;//订单状态
double total;
public orderHistory(int order, String state, double total) {
this.order = order;
this.menu = menu;
this.state = state;
this.total = total;
}
public orderHistory(int order, carOrder[] menu, String state, double total) {
this.order = order;
this.menu = menu;
this.state = state;
this.total = total;
}
}
package com.company.zsy;
public class myMenu {
int id;
String name;
double price;
int count;
public myMenu() {
}
public myMenu(int id, String name, double price, int count) {
this.id = id;
this.name = name;
this.price = price;
this.count = count;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
}
package com.company.zsy;
public class carOrder {
int id;
String name;
double price;
int count;
public carOrder(int id, String name, double price, int count) {
this.id = id;
this.name = name;
this.price = price;
this.count = count;
}
}
package com.company.zsy;
import com.company.Day2.Menu;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import java.util.Scanner;
//连续点餐
//添加:我的主页
//添加功能:未支付订单不允许退出
public class eatSystem {
public static void main(String[] args) {
///全系统数据
myMenu myMenu1 = new myMenu(001, "红烧肉", 29.5,0);
myMenu myMenu2 = new myMenu(002, "炒青菜", 15.5,0);
myMenu myMenu3 = new myMenu(003, "酱牛肉", 59,0);
myMenu myMenu4 = new myMenu(004, "红烧猪蹄", 49.5,0);
myMenu myMenu5 = new myMenu(005, "辣椒土豆", 13,0);
myMenu myMenu6 = new myMenu(006, "鱼香肉丝", 25.5,0);
myMenu[] myMenus = new myMenu[20];
myMenus[0]=myMenu1;
myMenus[1]=myMenu2;
myMenus[2]=myMenu3;
myMenus[3]=myMenu4;
myMenus[4]=myMenu5;
myMenus[5]=myMenu6;
uesr[] users = new uesr[20];
//默认用户
users=initUser();
/
mainPage(myMenus,users);//系统开始函数
// uesr user1 = new uesr(1, "张三", "男","123",0);
// uesr user2 = new uesr(101, "张三", "男","123",0,"管理员");
// mainMenu(myMenus,user2);
}
public static void mainPage(myMenu[] myMenus,uesr[] uus){
//主界面
System.out.println("------------欢迎来到点餐系统------------");
Scanner scanner = new Scanner(System.in);
System.out.println("你可以选择如下的操作:");
while (true){
System.out.println("1、登录\t2、注册\t3、退出");
int i = scanner.nextInt();
switch (i){
case 1 :
//登录
login(myMenus,uus);
break;
case 2 :
//注册
uus=enroll(uus);
break;
case 3 :
//退出
System.exit(1);
break;
default:
//输入错误
System.out.println("输入错误!请重新输入!");
break;
}
}
}
public static uesr[] initUser(){
//初始默认用户张三
uesr user1 = new uesr(1, "张三", "男","123",0);
uesr user2 = new uesr(101, "张三", "男","123",0,"管理员");
uesr[] uesrs = new uesr[5];
uesrs[0]=user1;
uesrs[1]=user2;
return uesrs;
}
//登录
public static void login(myMenu[] myMenus,uesr[] uus){
Scanner scanner = new Scanner(System.in);
System.out.println("----------欢迎来到登录界面----------");
System.out.println("请选择登录方式:1、管理员\t2、普通用户\t3、退出");
while (true){
int use = scanner.nextInt();
if (use==1){
boolean isFalse = true;
int n = 3;
//登录+循环登录+登录失败次数限制
while (isFalse){
System.out.println("请输入你的管理员id:");
int id = scanner.nextInt();
System.out.println("请输入你的管理员名字:");
String str1 = scanner.next();
System.out.println("请输入你的管理员密码:");
String str2 = scanner.next();
for (int i = 0; i < uus.length; i++) {
//全部查完才可以下一步
if (uus[i]!=null&&str1.equals(uus[i].name)&&str2.equals(uus[i].passwd)&&id==uus[i].id) {
System.out.println("登录成功!欢迎您,"+"管理员"+uus[i].name+"先生!\n");
mainMenu(myMenus,uus[i],uus);
System.exit(1);
}
}
System.out.println("查无此账号!请重新登录:");
n--;
System.out.println("你还剩下"+n+"次机会!");
if (n==0){
System.out.println("次数用完,已退出!");
System.exit(1);
}
}
}else if (use==2){
break;
}else if (use == 3){
mainPage(myMenus,uus);
}
}
// uesr[] uesrs = new uesr[5];
// uesrs=initUser();
boolean isFalse = true;
int n = 3;
//登录+循环登录+登录失败次数限制
while (isFalse){
System.out.println("请输入名字:");
String str1 = scanner.next();
System.out.println("请输入密码:");
String str2 = scanner.next();
for (int i = 0; i < uus.length; i++) {
//全部查完才可以下一步
if (uus[i]!=null&&str1.equals(uus[i].name)&&str2.equals(uus[i].passwd)) {
System.out.println("登录成功!欢迎您,"+uus[i].name+"同学!\n");
mainMenu(myMenus,uus[i],uus);
System.exit(1);
}
}
System.out.println("查无此用户!请重新登录:");
n--;
System.out.println("你还剩下"+n+"次机会!");
if (n==0){
System.out.println("次数用完,已退出!");
System.exit(1);
}
}
}
//菜单界面
public static void mainMenu(myMenu[] myMenus,uesr uu,uesr[] uus){
// System.out.println("你好"+uu.Power);
//功能界面+循环功能
Scanner scanner = new Scanner(System.in);
orderHistory orderHistory = new orderHistory(0,"未支付",0);//记录
orderHistory[] orderHistories = new orderHistory[10];
while (true){
System.out.println("-----------欢迎来到点餐界面-------------");
System.out.println("请进行如下的操作:");
if (uu.Power.equals("管理员")){
System.out.println("1、设置菜单\t2、设置用户权限\t3、我的\t4、退出");
int i = scanner.nextInt();
switch (i){
case 1 :
//设置菜单
adminSetMenu(myMenus,uu);
break;
case 2 :
//设置用户权限
System.out.println("正在开发此功能!请以后再来!");
break;
case 3 :
//我的
setPower(uus);
// System.out.println("正在开发此功能!请以后再来!");
break;
case 4 :
//退出
System.out.println("欢迎下次选购!");
mainPage(myMenus,uus);
}
}
if (uu.Power.equals("普通用户")){
System.out.println("1、点菜\t2、查看购物车\t3、退款\n" +
"4、评价\t5、订单记录\t6、我的\n" +
"7、退出");
}
int i = scanner.nextInt();
switch (i){
case 1 :
//点菜
order(myMenus,orderHistories,uu);//传入菜单和购物车
break;
case 2 :
//查看购物车
checkMenu(myMenus,orderHistories,uu);
break;
case 3 :
//退款
refund(orderHistories,uu);
break;
case 4 :
//评价
appraise();
break;
case 5 :
//订单记录
orderHistory(orderHistories);
break;
case 6 :
//我的
myInformation(uu);
break;
case 7 :
//退出
System.out.println("欢迎下次选购!");
mainPage(myMenus,uus);
default:
System.out.println("输入错误!请重新输入!");
}
}
}
public static void setPower(uesr[] uus){
System.out.println("----------------欢迎来到权限界面------------------");
System.out.println("用户打印:");
for (int i = 0; i < uus.length; i++) {
if (uus[i]!=null){
System.out.println(uus[i].id+"\t"+uus[i].sex+"\t"+uus[i].name);
}
}
}
public static void adminSetMenu(myMenu[] myMenus,uesr uu){
System.out.println("--------------欢迎来到设置界面---------------");
Scanner scanner = new Scanner(System.in);
while (true){
System.out.println("你可以:1、查看菜单\t2、增加菜单\t3、删除菜单\t4、修改菜单\t5、退出");
int i = scanner.nextInt();
switch (i){
case 1 :
//查看菜单
int x = 0;
for (int j = 0; j < myMenus.length; j++) {
if (myMenus[j]!=null){
x++;
}
}
if (x==0){
System.out.println("您的菜单空空如也!");
continue;
}
System.out.println("有如下的菜品:");
System.out.println("编号\t名称\t\t\t\t单价");
for (int j = 0; j < myMenus.length; j++) {
if (myMenus[j]!=null){
System.out.println(myMenus[j].getId()+"\t"+myMenus[j].getName()+"\t\t\t"+myMenus[j].getPrice());
}
}
break;
case 2 :
//增加菜单
addMenu(myMenus);
break;
case 3 :
//删除菜单
delMenu(myMenus,uu);
break;
case 4 :
//修改菜单
reviseMenu(myMenus);
break;
case 5 :
//退出
return;
default:
}
}
}
//修改菜单
public static void reviseMenu(myMenu[] myMenus){
int num = 0;
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
num++;
}
}
Scanner scanner = new Scanner(System.in);
System.out.println("请输入需要修改的id:");
int id = scanner.nextInt();
if ( id<=0||id>6){
System.out.println("输入的id无效");
return;
}
System.out.println("你是要修改(y/n):");
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
if (myMenus[i].id==id){
System.out.println("ID:"+myMenus[i].id+"\t名称:"+myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
}
}
}
String str = scanner.next();
if (str.equals("n")){
System.out.println("未修改!");
return;
}
System.out.println("你可以修改其1、单价\t2、名称");
int revise = scanner.nextInt();
if (revise==1){
System.out.println("输入新单价:");
double prise = scanner.nextDouble();
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
if (myMenus[i].id==id){
myMenus[i].price=prise;
System.out.println("好的!已修改!" + myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
return;
}
}
}
}else {
System.out.println("请输入新名称:");
String strName = scanner.next();
boolean isIn = true;
while (isIn){
//验证菜是否重名
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
if (myMenus[i].name.equals(strName)){
//有重名
System.out.println("菜品已在菜单中,您是要修改价格吗?(y/n)");
String str2 = scanner.next();
if (str2.equals("y")){
//改价格
System.out.println(myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
System.out.println("输入新价格:");
double newPrise = scanner.nextDouble();
System.out.println("是否修改为:"+newPrise+"元!(y/n");
String str5 = scanner.next();
if (str5.equals("y")){
myMenus[i].price=newPrise;
System.out.println("好的!已修改!" +
myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
return;
}else {
System.out.println("未修改!");
return;
}
}else {
isIn = true;
System.out.println("请重新输入菜名:");
strName = scanner.next();
break;
}
}else {
isIn = false;
break;
}
}
}
}
}
}
public static void delMenu(myMenu[] myMenus,uesr uu){
int num = 0;
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
num++;
}
}
Scanner scanner = new Scanner(System.in);
int x = 0;
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
x++;
}
}
if (x==0){
System.out.println("您的菜单空空如也!");
return;
}
System.out.println("删除菜单是一种危险行为哟!请慎重操作!");
System.out.println("您的菜单如下:");
System.out.println("编号\t名称\t\t\t\t单价");
for (int j = 0; j < myMenus.length; j++) {
if (myMenus[j]!=null){
System.out.println(myMenus[j].getId()+"\t"+myMenus[j].getName()+"\t\t\t"+myMenus[j].getPrice());
}
}
System.out.println("您可以1、删除全部(危险!!!!)\t2、删除部分");
int del = scanner.nextInt();
if (del == 1){
//删除全部
System.out.println("警告!删除全部菜单是一种危险行为!请认证:");
boolean isFalse = true;
int n = 3;
//登录+循环登录+登录失败次数限制
while (isFalse){
System.out.println("请输入你的管理员id:");
int id = scanner.nextInt();
System.out.println("请输入你的管理员名字:");
String str1 = scanner.next();
System.out.println("请输入你的管理员密码:");
String str2 = scanner.next();
//全部查完才可以下一步
if (str1.equals(uu.name)&&str2.equals(uu.passwd)&&id==uu.id) {
System.out.print("验证成功!正在删除,请稍等");
for(int f =0;f<3;f++){
try {
Thread.sleep(400); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n");
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
myMenus[i]=null;
}
}
System.out.println("删除完毕!");
return;
}
System.out.println("查无此账号!请重新输入:");
n--;
System.out.println("你还剩下"+n+"次机会!");
if (n==0){
System.out.println("次数用完,已退出!");
return;
}
}
}else if (del == 2){
//删除部分
System.out.println("请输入需要删除的id,回车隔开,0结束");
int[] arr = new int[20];
// Scanner scanner = new Scanner(System.in);
for (int j = 0; j <arr.length ; j++) {
int a = scanner.nextInt();
if (a==0){
System.out.print("挑选结束!正在删除,请稍等");
for(int f =0;f<3;f++){
try {
Thread.sleep(300); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n");
break;
}
if (a>num||a<0){
System.out.println("没有这个id!");
continue;
}
arr[j]= a;
}
//删除他们
for (int i = 0; i < arr.length; i++) {
if (arr[i]!=0){
myMenus[arr[i]-1]=null;
}
}
System.out.println("删除完毕!");
return;
}
}
public static void addMenu(myMenu[] myMenus){
Scanner scanner = new Scanner(System.in);
System.out.println("是否需要增加新的菜单(y/n)");
String str = scanner.next();
if (str.equals("y")){
System.out.println("好的,你需要输入菜品名称和单价");
System.out.println("菜品名称:");
String strName = scanner.next();
boolean isIn = true;
while (isIn){
//验证菜是否重名
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
if (myMenus[i].name.equals(strName)){
//有重名
System.out.println("菜品已在菜单中,您是要修改价格吗?(y/n)");
String str2 = scanner.next();
if (str2.equals("y")){
//改价格
System.out.println(myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
System.out.println("输入新价格:");
double newPrise = scanner.nextDouble();
System.out.println("是否修改为:"+newPrise+"元!(y/n");
String str5 = scanner.next();
if (str5.equals("y")){
myMenus[i].price=newPrise;
System.out.println("好的!已修改!" +
myMenus[i].name+"\t单价:"+myMenus[i].price+"元!");
return;
}else {
System.out.println("未修改!");
return;
}
}else {
isIn = true;
System.out.println("请重新输入菜名:");
strName = scanner.next();
break;
}
}else {
isIn = false;
break;
}
}
}
}
System.out.println("单价:");
double prise = scanner.nextDouble();
System.out.println("您是要添加"+strName+"\t单价:"+prise+"吗?(y/n)");
String str1 = scanner.next();
if (str1.equals("y")){
System.out.println("好的!正在添加,请稍等...");
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]==null){
myMenu myMenu = new myMenu();
myMenu.id=i+1;
myMenu.name=strName;
myMenu.price=prise;
myMenu.count=0;
myMenus[i]=myMenu;
break;
}
}
System.out.println("添加完毕!");
}else {
System.out.println("未添加!");
}
}else {
//不怎加新的菜直接退出
System.out.println("未添加!");
}
}
//订单记录
public static void orderHistory(orderHistory[] orderHistories){
int x= 0;//计订单的个数
for (int m=0;m<orderHistories.length;m++){
if (orderHistories[m]!=null){
x++;
}
}
if (x==0){
System.out.println("暂时没有订单记录!");
return;
}else {
System.out.println("您有"+x+"份订单记录!");
}
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
System.out.println("订单编号:"+orderHistories[i].order);
System.out.println("订单:");
for (int j = 0; j < orderHistories[i].menu.length; j++) {
if (orderHistories[i].menu[j]!=null){
System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
}
}
System.out.println("共计:\t"+orderHistories[i].total+"元!");
System.out.println("订单状态:\t"+orderHistories[i].state);
System.out.println("\n");
}
}
return;
}
//退款
public static orderHistory[] refund(orderHistory[] orderHistories,uesr uu){
// System.out.println("暂时不支持退款!");
//1、已支付才可以退款
//需要退款理由(给后台管理员审核)
//退款
Scanner scanner = new Scanner(System.in);
int x =0;
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
if (orderHistories[i].state.equals("已支付")){
x++;
}
}
}
if (x==0){
System.out.println("您暂时没有可以退款的订单哟!");
return orderHistories;
}
System.out.println("您有"+x+"份可以退款的订单!如下:");
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
if (orderHistories[i].state.equals("已支付")){
System.out.println("订单编号:"+orderHistories[i].order);
System.out.println("订单:");
for (int j = 0; j < orderHistories[i].menu.length; j++) {
if (orderHistories[i].menu[j]!=null){
System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
}
}
System.out.println("共计:\t"+orderHistories[i].total+"元!");
System.out.println("订单状态:\t"+orderHistories[i].state);
System.out.println("\n");
}
}
}
System.out.println("输入订单id:");
boolean B = true;
while (true){
int id = scanner.nextInt();
int i =0;
for ( i=0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
if (orderHistories[i].order!=id){
B=false;
}else {
B=true;
break;
}
}
}
if (B==false){
System.out.println("输入id有误!");
continue;
}
//退款理由
System.out.println("您的退款理由是:");
System.out.println("1、服务态度恶劣\t2、菜品难吃\t3、其他");
int o = scanner.nextInt();
if (o==3){
System.out.println("其他原因:");
String str = scanner.next();
}
System.out.println("我们已反馈你的建议!请稍等");
for(int f =0;f<3;f++){
try {
Thread.sleep(400); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n");
System.out.print("正在退款");
for(int f =0;f<3;f++){
try {
Thread.sleep(400); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n");
System.out.println("退款成功!");
uu.balance += orderHistories[i].total;
System.out.println("您有"+orderHistories[i].total+"元已入帐!您的账户余额:"+uu.balance);
//修改属性
orderHistories[i].state="已退款";
return orderHistories;
}
// return orderHistories;
}
//评价
public static void appraise(){
Scanner scanner = new Scanner(System.in);
System.out.println("--------欢迎来到评价系统----------");
System.out.println("给我们的服务几颗星(1-5)");
int server1 = scanner.nextInt();
System.out.println("给我们的菜品几颗星(1-5)");
int server2 = scanner.nextInt();
// System.out.println("给我们的菜品几颗星(1-5)");
// int server3 = scanner.nextInt();
System.out.println("如果可以在下方给我们一些意见!");
String str = scanner.next();
System.out.println("感谢你的反馈!系统提交中!请稍等...\n\n\n");
try {
Thread.sleep(400); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.println("提交成功!");
return;
}
//查看订单
public static orderHistory[] checkMenu(myMenu[] myMenus,orderHistory[] orderHistories,uesr uu){
Scanner scanner = new Scanner(System.in);
int x= 0;//计订单的个数
for (int m=0;m<orderHistories.length;m++){
if (orderHistories[m]!=null){
x++;
}
}
if (x==0){
System.out.println("暂时没有订单!");
return orderHistories;
}else {
System.out.println("您有"+x+"份订单记录!");
}
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
System.out.println("订单编号:"+orderHistories[i].order);
System.out.println("订单:");
for (int j = 0; j < orderHistories[i].menu.length; j++) {
if (orderHistories[i].menu[j]!=null){
System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
}
}
System.out.println("共计:\t"+orderHistories[i].total+"元!");
System.out.println("订单状态:\t"+orderHistories[i].state);
System.out.println("\n");
}
}
//
System.out.println("你可以选择:1、支付订单\t2、取消订单\t3、退出");
int a = scanner.nextInt();
while (true){
if (a==3){
return orderHistories;
}else if (a==1){
break;
}else if (a==2){
//取消订单(针对未支付的订单)
int y=0;
double allTotal = 0;
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
if (orderHistories[i].state.equals("未支付")){
y++;
}
}
}
if (y==0){
System.out.println("您暂时没有可以取消的订单!");
checkMenu(myMenus,orderHistories,uu);
}
System.out.println("您有"+y+"份可取消订单!");
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
if (orderHistories[i].state.equals("未支付")){
System.out.println("订单编号:"+orderHistories[i].order);
System.out.println("订单:");
for (int j = 0; j < orderHistories[i].menu.length; j++) {
if (orderHistories[i].menu[j]!=null){
System.out.println(orderHistories[i].menu[j].name+"\t\t\t\t\t"+orderHistories[i].menu[j].count+"份");
}
}
System.out.println("共计:\t"+orderHistories[i].total+"元!");
System.out.println("订单状态:\t"+orderHistories[i].state);
System.out.println("\n");
}
}
}
//
System.out.println("输入需要取消订单的id");
while (true){
int i =0;
boolean k = true;
int l = scanner.nextInt();
for ( i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
if (orderHistories[i].state.equals("未支付")){
if (orderHistories[i].order==l){
k = true;
break;
}else {
k = true;
}
}
}
}
if (k == true){
System.out.print("正在取消点单!请稍等");
for(int f =0;f<3;f++){
try {
Thread.sleep(400); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n");
orderHistories[i].state="已取消";
checkMenu(myMenus,orderHistories,uu);
}else if (k = false){
System.out.println("你输入的id无效!请重新输入:");
}
}
}else {
System.out.println("输入错误!请重新输入:");
}
}
/支付
int y=0;
double allTotal = 0;
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]!=null){
if (orderHistories[i].state.equals("未支付")){
allTotal += orderHistories[i].total;
y++;
}
}
}
if (y==0){
System.out.println("您暂时没有需要支付的订单!");
checkMenu(myMenus,orderHistories,uu);
}
System.out.println("你有"+y+"份未支付订单!共计"+allTotal+"是否需要支付!(y/n)");
String str = scanner.next();
if (str.equals("y")){
boolean pay = true;
while (pay){
System.out.println("你可以选择:\t1、全部支付\t2、部分支付\t3稍后支付或退出");
int i = scanner.nextInt();
if (i==1){
int g=0;
for (int u = 0; u < orderHistories.length; u++) {
if (orderHistories[u]!=null){
if (orderHistories[u].state.equals("未支付")){
g++;
}
}
}
if (g==0){
System.out.println("您暂时没有需要支付的订单!");
continue;
}
//全部支付(全部订单)
System.out.println("你可以选择:\t1、会员卡支付\t2、其他支付");
int n = scanner.nextInt();
if (n==1){
//会员卡支付
while (true){
System.out.println("你的账户余额:"+uu.balance+"元!");
if (uu.balance<allTotal){
System.out.println("余额不足!还需"+(allTotal-uu.balance)+"元!");
System.out.println("是否进行充值(y/n)");
String str1 = scanner.next();
if (str1.equals("y")){
System.out.println("请输入充值金额:");
double num = scanner.nextDouble();
System.out.println("是否充值"+num+"元!(y/n)");
String str2 = scanner.next();
if (str2.equals("y")){
System.out.print("请稍等");
for(int f =0;f<3;f++){
try {
Thread.sleep(500); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println();
uu.balance += num;
System.out.println("充值成功!!");
continue;
}else {
System.out.println("未充值!");
}
}else {
break;//跳出while,精选
}
}else if (uu.balance>=allTotal){
//修改状态
for (int l = 0; l < orderHistories.length; l++) {
if (orderHistories[l]!=null){
if (orderHistories[l].state.equals("未支付")){
orderHistories[l].state="已支付";
}
}
}
uu.balance = uu.balance-allTotal;
System.out.print("正在付款!请稍等");
for(int f =0;f<3;f++){
try {
Thread.sleep(500); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n支付完毕!账户余额:"+uu.balance);
// return orderHistories;
}
// System.out.println("支付完毕!账户余额:"+uu.balance);
// mainMenu(uu);
break;
}
}else if (n==2){
//其他支付(微信-支付宝)
}
}else if (i==2){
int g=0;
for (int u = 0; u < orderHistories.length; u++) {
if (orderHistories[u]!=null){
if (orderHistories[u].state.equals("未支付")){
g++;
}
}
}
if (g==0){
System.out.println("您暂时没有需要支付的订单!");
continue;
}
//部分支付(支付部分订单)
//1、知道有几个订单(id列出来)放入一个暂时的订单数组,2、去选择想要支付的订单()
System.out.println("您的待支付订单id如下:");
int[] arr = new int[10];//支付订单数组
int s = 0;
for (int j = 0; j < orderHistories.length; j++) {
if (orderHistories[j]!=null){
if (orderHistories[j].state.equals("未支付")){
System.out.print(orderHistories[j].order+"\t");
arr[s]=orderHistories[j].order;
s++;
}
}
}
//从键盘获取支付id,回车隔开
int[] ints = new int[10];
System.out.println("请输入想要支付的订单id,回车隔开(-1结束)");
for (int p = 0; p <arr.length ; p++) {
int w = scanner.nextInt();//获取id
if (w==-1){
System.out.print("选择结束,正在支付,请稍等");
for(int f =0;f<3;f++){
try {
Thread.sleep(800); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n");
break;
}
boolean B=true;
for (int l=0;l<arr.length;l++){
if (w!=arr[l]){
B = false;
}else {
B=true;
break;
}
}
if (B==false){
System.out.println("输入id有误!");
continue;
}
ints[p]=w;
}
//支付开始
int m=0;
for (int l=0; l<ints.length;l++){
if (ints[l]!=0){
m++;
}
}
if (m==0){
System.out.println("您未选择订单!");
}else {
System.out.println("您需要支付订单如下:");
double sumDouble=0;
for (int l = 0; l < ints.length; l++) {
for (int p =0;p<orderHistories.length;p++){
if (orderHistories[p]!=null && orderHistories[p].order==ints[l]){
System.out.println("订单编号:"+orderHistories[p].order);
System.out.println("订单:");
for (int j = 0; j < orderHistories[p].menu.length; j++) {
if (orderHistories[p].menu[j]!=null){
System.out.println(orderHistories[p].menu[j].name+"\t\t\t\t\t"+orderHistories[p].menu[j].count+"份");
}
}
System.out.println("共计:\t"+orderHistories[p].total+"元!");
System.out.println("订单状态:\t"+orderHistories[p].state);
System.out.println("\n");
sumDouble+=orderHistories[p].total;
}
}
}
System.out.println("一个"+m+"份订单!,"+"共计"+sumDouble+"元!是否需要支付!(y/n)");
System.out.println("你可以选择:\t1、会员卡支付\t2、其他支付");
int n = scanner.nextInt();
if (n==1){
//会员卡支付
while (true){
System.out.println("你的账户余额:"+uu.balance);
if (uu.balance<allTotal){
System.out.println("余额不足!");
System.out.println("是否进行充值(y/n)");
String str1 = scanner.next();
if (str1.equals("y")){
System.out.println("请输入充值金额:");
double num = scanner.nextDouble();
System.out.println("是否充值"+num+"元!(y/n)");
String str2 = scanner.next();
if (str2.equals("y")){
uu.balance += num;
System.out.println("已充值!");
continue;
}else {
System.out.println("未充值!");
}
}else {
break;//跳出while,精选
}
}else if (uu.balance>=allTotal){
//修改状态
for (int l = 0; l < orderHistories.length; l++) {
if (orderHistories[l]!=null){
if (orderHistories[l].state.equals("未支付")){
orderHistories[l].state="已支付";
}
}
}
uu.balance = uu.balance-allTotal;
System.out.println("支付完毕!账户余额:"+uu.balance);
return orderHistories;
}
// System.out.println("支付完毕!账户余额:"+uu.balance);
// mainMenu(uu);
break;
}
}else if (n==2){
//其他支付(微信-支付宝)
System.out.println("暂不支持微信支付宝!");
return orderHistories;
}
}
// System.out.println("暂不支持!");
}else if (i==3){
//退出
break;
}
}
}else {
return orderHistories;
}
return orderHistories;
}
public static orderHistory[] order(myMenu[] myMenus,orderHistory[] orderHistories,uesr uu){
int num = 0;
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
num++;
}
}
//点餐
//升级,一次行点餐
carOrder[] carOrders = new carOrder[10];//生成购物车
Scanner scanner = new Scanner(System.in);
//打印菜单
System.out.println("有如下的菜品:");
System.out.println("编号\t名称\t\t\t\t单价");
for (int i = 0; i < myMenus.length; i++) {
if (myMenus[i]!=null){
System.out.println(myMenus[i].getId()+"\t"+myMenus[i].getName()+"\t\t\t"+myMenus[i].getPrice());
}
}
System.out.println("是否需要点餐:(Y/N)");
String str = scanner.next();
boolean isFlat = true;
if (str.equals("Y")||str.equals("y")){
while (isFlat){
System.out.println("在下方输入菜品序号并依次回车即可!(0结束):");
int[] arr = new int[10];
// Scanner scanner = new Scanner(System.in);
for (int j = 0; j <arr.length ; j++) {
int x = scanner.nextInt();
if (x==0){
System.out.print("挑选结束!正在加入购物车!");
for(int f =0;f<3;f++){
try {
Thread.sleep(300); //2000 毫秒,也就是2秒.
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
System.out.print(".");
}
System.out.println("\n");
break;
}
if (x>=num||x<0){
System.out.println("没有这个菜!");
continue;
}
arr[j]= x;
}
//加入购物车
for (int i = 0; i < arr.length; i++) {
if (arr[i]!=0){
//查看购物车哟没有这个订单
boolean isOld = true;//是不是老菜
for (int j = 0; j < carOrders.length; j++) {
if (carOrders[j]!=null){
if (carOrders[j].id == arr[i]) {
//老菜+1
carOrders[j].count++;
isOld=false;
break;
}
}
}
//添加新菜
if (isOld){
for (int j = 0; j < carOrders.length; j++) {
if (carOrders[j]==null){
// carOrder[j]=myMenus[arr[i]-1];
carOrder carOrder = new carOrder(myMenus[arr[i]-1].id,myMenus[arr[i]-1].name,myMenus[arr[i]-1].price,myMenus[arr[i]-1].count);
carOrders[j]=carOrder;
carOrders[j].count++;
// System.out.println("已添加:"+carOrder[i].name);
break;
}
}
}
//
}else {
break;
}
}
double total=0;
System.out.println("你的选择的菜品如下:");
for (int i = 0; i < carOrders.length; i++) {
if (carOrders[i]!=null){
total+=carOrders[i].price*carOrders[i].count;
System.out.println(carOrders[i].name+"\t"+carOrders[i].count+"份");
}
}
//继续
System.out.println("是否继续点餐?y/n");
String goon = scanner.next();
if (goon.equals("n")){
isFlat = false;
//加入订单
for (int i = 0; i < orderHistories.length; i++) {
if (orderHistories[i]==null){
orderHistory orderHistory = new orderHistory(i+1,carOrders,"未支付",total);
orderHistories[i]=orderHistory;
break;
}
}
System.out.println("已退出!");
System.out.println("您有新的订单已生成!");
return orderHistories;
}
}
}else {
return orderHistories;
}
return orderHistories;
}
public static uesr[] enroll(uesr[] uuu){
//解决返回所有用户问题
Scanner scanner = new Scanner(System.in);
uesr[] uesrs = new uesr[5];
uesrs = uuu;
boolean isName = true;
boolean isAddName = true;
System.out.println("-----------------欢迎来到注册界面----------------");
while (isAddName){
System.out.println("请输入用户名:");
String str1 = scanner.next();
System.out.println("请输入密码:");
String str2 = scanner.next();
int x =0;
for ( x = 0; x < uesrs.length; x++) {
if (uesrs[x]==null){
break;
}
}
uesr uesr = new uesr(x+1,str1,"男",str2,0);
//判断重名
for (int i = 0; i < uesrs.length; i++) {
if (uesrs[i]!=null){
if (uesrs[i].name.equals(str1)){
System.out.println("名字已注册!请从新输入:");
isName=false;
break;
}else {
isName=true;
}
}
}
if (isName==true){
//添加
for (int i = 0; i < uesrs.length; i++) {
if (uesrs[i]==null){
uesrs[i]=uesr;
System.out.println("添加成功!");
break;
}
}
}
System.out.println("是否继续添加(y/n)");
String str3 = scanner.next();
if (!str3.equals("y")){
break;
}
}
System.out.println("注册结束!");
return uesrs;
}
public static void myInformation(uesr uu){
Scanner scanner = new Scanner(System.in);
System.out.println("--------------欢迎来到你的主页---------------");
if (uu.balance<=0){
System.out.println("你的余额已不足!,现在充值,可享受充100返1000积分!");
}
System.out.println("姓名:\t"+uu.name);
System.out.println("性别:\t"+uu.sex);
System.out.println("账户id:\t"+uu.id);
System.out.println("生日:\t"+uu.borthday);
System.out.println("常驻地:\t"+uu.adress);
System.out.println("积分余额:\t"+uu.Point+"(满1000积分可抵消100元,不支持支付!超过100元订单可使用!)");
System.out.println("你的会员卡账户余额:\t"+uu.balance+"元\n");
while (true){
System.out.println("操作:");
System.out.println("1、编辑信息\t2、充值\t3、退出\t4、刷新!");
int i = scanner.nextInt();
if (i==1){
System.out.println("暂不支持更改姓名与id!");
System.out.println("您需要更改:1、性别\t2、生日\t3、常驻地");
int x = scanner.nextInt();
if (x==1){
System.out.println("输入性别:(男/女)");
while (true){
String str = scanner.next();
if (str.equals("男")){
uu.sex=str;
System.out.println("修改成功!");
break;
}else if (str.equals("女")){
uu.sex=str;
System.out.println("修改成功!");
break;
}else {
System.out.println("输入有误!请重新输入:");
}
}
}else if (x==2){
System.out.println("输入生日:");
String str = scanner.next();
uu.borthday=str;
System.out.println("修改成功!");
}else if (x==3){
System.out.println("输入地址:");
String str = scanner.next();
uu.adress=str;
System.out.println("修改成功!");
}
}else if (i==2){
System.out.println("请输入充值金额:");
double num = scanner.nextDouble();
System.out.println("是否充值"+num+"元!(y/n)");
String str = scanner.next();
if (str.equals("y")){
uu.balance=num;
System.out.println("已充值!账户余额:"+uu.balance+"元!");
if (num >=100.0){
System.out.println("1000积分已到账!");
uu.Point+=1000;
}
}else {
System.out.println("未充值!账户余额:"+uu.balance+"元!");
}
}else if (i==3){
return;
}else if (i==4){
myInformation(uu);
}
}
}
}