// 菜单信息类
package 对象和集合.吃货联盟订餐系统;
public class Food {
private String names;//姓名
private String disMigs;//菜品
private int times;//时间
private String addresses;//地址
private Double sumPrices;//总金额
//订单状态 0 已预定 1已完成
private int states;
public String getNames() {
return names;
}
public void setNames(String names) {
this.names = names;
}
public String getDisMigs() {
return disMigs;
}
public void setDisMigs(String disMigs) {
this.disMigs = disMigs;
}
public int getTimes() {
return times;
}
public void setTimes(int times) {
this.times = times;
}
public String getAddresses() {
return addresses;
}
public void setAddresses(String addresses) {
this.addresses = addresses;
}
public Double getSumPrices() {
return sumPrices;
}
public void setSumPrices(Double sumPrices) {
this.sumPrices = sumPrices;
}
public int getStates() {
return states;
}
@Override
public String toString() {
String s=states==0?"未完成":"已完成";
return names + '\t' + disMigs + '\t' + times + "点\t"+ addresses + '\t' + sumPrices +"元\t"+ s;
}
public void setStates(int states) {
this.states = states;
}
public Food(String names, String disMigs, int times, String addresses, Double sumPrices, int states) {
this.names = names;
this.disMigs = disMigs;
this.times = times;
this.addresses = addresses;
this.sumPrices = sumPrices;
this.states = states;
}
public Food() {
}
}
//菜品类
package 对象和集合.吃货联盟订餐系统;
public class Order {
private String dishNames;//菜品
private double prices;//价格
private int praiseNums;//点赞数
@Override
public String toString() {
return dishNames + '\t' + prices + "元\t"+ praiseNums+"赞";
}
public Order(String dishNames, double prices, int praiseNums) {
this.dishNames = dishNames;
this.prices = prices;
this.praiseNums = praiseNums;
}
public String getDishNames() {
return dishNames;
}
public void setDishNames(String dishNames) {
this.dishNames = dishNames;
}
public double getPrices() {
return prices;
}
public void setPrices(double prices) {
this.prices = prices;
}
public int getPraiseNums() {
return praiseNums;
}
public void setPraiseNums(int praiseNums) {
this.praiseNums = praiseNums;
}
public Order() {
}
}
//功能类 or 业务需求
package 对象和集合.吃货联盟订餐系统;
import java.util.List;
import java.util.Scanner;
public class Business {
public static Scanner sc = new Scanner(System.in);
public static void giveTheThumbsup(List<Order> orders, Scanner sc) {
printcanpin(orders);
System.out.println("请输入你觉得好吃的菜:");
int xuhao2= sc.nextInt();
while (xuhao2<1||xuhao2>orders.size()-1){
System.out.println("输入错误请重新输入!");
xuhao2= sc.nextInt();
}
orders.get(xuhao2-1).setPraiseNums(orders.get(xuhao2-1).getPraiseNums()+1);
System.out.println("点赞成功!!");
}
public static void delete(List<Food> foods, Scanner sc) {
printArrays(foods);
boolean falg2=false;
System.out.println("请输入你要删除的订单!");
int xuhao1= sc.nextInt();
while (xuhao1<1||xuhao1>foods.size()){
System.out.println("输入有悟请重新输入!");
xuhao1= sc.nextInt();
}
//定义一个值用来记住索引
for (int i = 0; i < foods.size(); i++) {
if (foods.get(i).getStates()==1&&xuhao1==i+1){
foods.remove(i);
System.out.println("删除成功!");
break;
}else if (foods.get(i).getStates()==0&&xuhao1==i+1){
System.out.println("该订单未签收不能删除!");
break;
}
}
}
public static void signFor(List<Food> foods, Scanner sc) {
printArrays(foods);
boolean falg1=false;
System.out.println("请输入你要签收的订单!");
int xuhao= sc.nextInt();
//定义一个值 用来签收订单
for (int i = 0; i < foods.size(); i++) {
if (foods.get(i).getStates()==1&&xuhao==i+1){
falg1=true;
System.out.println("该订单已签收!");
break;
}else if (foods.get(i).getStates()==0&&xuhao==i+1){
falg1=true;
foods.get(i).setStates(1);
System.out.println("签收完成!");
break;
}
}
if (!falg1){
System.out.println("输入有误!");
}
}
public static void orderaMeal(List<Food> foods, List<Order> orders, Scanner sc) {
boolean falg=false;
System.out.println("------------------------我要订餐---------------------------");
printcanpin(orders);
for (int i = 0; i <foods.size() ; i++) {
falg=true;
System.out.println("请输入你要点的菜品序号:");
int xuhao = sc.nextInt();
while (xuhao>3||xuhao<1){
System.out.println("对不起你输入错误!请重新输入!");
xuhao = sc.nextInt();
}
System.out.println("请输入你要点几份");
int number = sc.nextInt();
while (number<=0){
System.out.println("输入有误!!!");
number = sc.nextInt();
}
//汇总
String disMag=orders.get(xuhao).getDishNames()+" "+number+"份";
System.out.println("请输入你的姓名");
String name= sc.next();
System.out.println("请输入你的订餐时间:");
int time= sc.nextInt();
while (time>20||time<10){
System.out.println("对不起不在配送时间请重新输入!");
time= sc.nextInt();
}
System.out.println("请输入你的配送地址!");
String address= sc.next();
Double Price=orders.get(xuhao-1).getPrices()*number;
//配送废
Double psf=Price>=50?0.0:6.0;
double sumPrice=Price+psf;
Food f3=new Food(name,disMag,time,address,sumPrice,0);
foods.add(f3);
System.out.println("创建成功!");
break;
}
if (!falg){
System.out.println("对不起餐袋已满!");
}
}
public static void printcanpin(List<Order> orders) {
System.out.println("序号"+"\t餐品名"+"\t单价"+" \t点赞数");
for (int i = 0; i < orders.size(); i++) {
String rs = orders.get(i).getPraiseNums()+"赞";
System.out.println((i+1)+"\t"+ orders.get(i).getDishNames()+"\t"+ orders.get(i).getPrices()+"\t"+rs );
}
}
public static void printArrays(List<Food> foods) {
System.out.println("-----------------------------查看餐袋---------------------------------------");
System.out.println("序号"+"\t订餐人"+"\t餐品名 份数"+"\t时间"+"\t商品送餐地址"+"\t总金额"+"\t订单状态");
for (int i = 0; i < foods.size(); i++) {
String rs =foods.get(i).getStates()==0?"未签收":"已签收";
System.out.println((i + 1) + "\t" + foods.get(i).getNames()+"\t"+ foods.get(i).getDisMigs()+"\t" +
foods.get(i).getTimes()+"\t"+ foods.get(i).getAddresses()+"\t"+ foods.get(i).getSumPrices()+"\t"+ rs);
}
}
}
//测试类
package 对象和集合.吃货联盟订餐系统;
import java.util.*;
public class Test {
public static final List<Food> foods = new ArrayList<>();
public static final List<Order> orders = new ArrayList<>();
public static void main(String[] args) {
//定义数组来储存对象
//初始化
Food f1 = new Food("王小明", "红烧带鱼 2份", 12, "天河路666号", 76.0, 1);
Food f2 = new Food("陈大鸿", "凉拌鸡丝 2份", 10, "天河路786号", 22.0, 0);
foods.add(f1);
foods.add(f2);
//初始化
Order o1 = new Order("红烧带鱼", 38.0, 0);
Order o2 = new Order("小炒肉", 32.0, 0);
Order o3 = new Order("凉半鸡丝", 11.0, 0);
//定义数组储存
orders.add(o1);
orders.add(o2);
orders.add(o3);
int num = -1;
Scanner sc = new Scanner(System.in);
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("请选择(1-6)");
int comy = sc.nextInt();
if (comy <= 6 && comy >= 1) {
switch (comy) {
case 1:
//展示菜品
Business.orderaMeal(foods, orders, sc);
break;
case 2:
//查看餐袋
Business.printArrays(foods);
break;
case 3:
//签收订单
Business.signFor(foods, sc);
break;
case 4:
//删除订单
Business.delete(foods, sc);
break;
case 5:
//我要点赞
Business.giveTheThumbsup(orders, sc);
break;
case 6:
System.out.println("感谢你的光临!!");
return;
}
} else {
System.out.println("输入错误!");
}
System.out.print("输入0返回:");
num = sc.nextInt();
while (num != 0) {
System.out.println("输入0返回:!!!!!!!!!");
num = sc.nextInt();
}
} while (num == 0);
}
}
本文介绍了一个简单的订餐系统的实现过程,包括菜单管理、订单管理、点赞功能等核心模块。通过具体的代码示例展示了如何使用Java进行系统开发。
1174






