使用集合与类方法实现简易吃货联盟系统

本文介绍了如何使用JAVA代码构建一个简易的吃货联盟系统,包括我要订餐、查看餐袋、签收订单、删除订单、点赞和退出系统等功能。通过创建用户类存储个人信息,如姓名、菜品、数量、金额等,并设定菜品类包含名称、价格和点赞数。系统利用集合方法管理用户信息,主类负责各功能模块的跳转。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用JAVA代码实现吃货联盟系统

–吃货联盟系统需求

  1. 实现我要订餐我要订餐功能块
  2. 实现查看餐袋功能块
  3. 实现签收订单功能块
  4. 删除订单功能块
  5. 点赞功能块
  6. 退出系统

要求 JAVA方法的使用 JAVA基础知识
思路:
1.首先建立一个类储存用户的餐袋功能信息
实现储存用户 姓名 菜品名称 菜品数量 所付金额 地址 需要的送餐时间以及订单的状态 (已预定和已完成)
2.创建菜品名单 有 菜品名称 菜品价格 菜品点赞数
3.创建一些,比较易于输入输出的方法,更容易使他进行跳转

用户信息的声明 该类用于存储用户信息
并创建一个集合方法存储用户信息

package food;

import java.util.ArrayList;
import java.util.List;

package food;

import java.util.ArrayList;
import java.util.List;

public class Fooduser {
		public String name;//用户姓名
		public String add;//用户地址
		public String food;//用户的菜品名称 以及数量
		public double Price;//用户购买菜品所用的金额
		public int time;
		public int statc;//用户的订单状态 0和1 0为为收货 1为收货
		static List <Fooduser> use  = new ArrayList<>();//集合进行存储调用该类中的数据
		public Fooduser(String name,String add,String food,double Price,int statc,int time){
			this.name = name;
			this.add = add;
			this.food = food;
			this.Price = Price;
			this.statc = statc;
		}//创建一个fooduser类的构造函数 使得该类可以直接赋值给use的集合
		public static void add(String name,String add,String food,double Price,int statc,int time){
			//调用本类的构造函数 赋值并添加进集合中
			use.add(new Fooduser(name,add,food,Price,statc,time));
		}
		//添加有了怎么能没有一个输出呢?
		public static void get(){//输出并不需要为其增加参数
			//集合输出比较容易 使用for循环遍历集合 集合方法use.size()可以直接获得集合的大小,并不需要想数组那样在增加一个判断语句
			for(int i=0;i<use.size();i++){
			 	Fooduser f =  use.get(i);//创建一个Fooduser类型的变量存储数组,易于循环输出
			System.out.println((i+1)+"\t"+f.name+"\t"+f.food+"\t"+f.Price+"\t"+f.add+"\t"+f.time+"\t"+f.statc);	
			//因为之前以经用下标赋值给了f 然后直接通过f输出所有藏品的信息 分别为 序号 姓名 菜品名称和数量 总金额 地址 送餐时间 订单状态
			}
		}
}


//该用户类就大概准备好了,接下来就应该将菜品类准备一下

现在就要想菜品类的基本属性有什么
1.菜品的名称 2.菜品的单价 3.菜品的总金额

package food;

public class Foodfood {
//该类用于存储菜品信息
	static String  name[] = {"红烧鱼","麻婆豆腐","麻辣香锅"} ; // 菜品名称
	static int[] price = {38,28,22}; //菜品单价
	static int [] good = {5,5,0};//点赞数
	static 	 int num; 
	public static void food(){
		System.out.println("序号\t名称\t单价\t点赞数");
		for(int i = 0 ;i<name.length;i++){//循环输出菜品信息
			System.out.println((i+1)+"\t"+name[i]+"\t"+price[i]+"\t"+good[i]);
		}
	}
}

菜品信息准备好后,就建立一个主类
分管各种方法进行的跳转

package food;

import java.util.Scanner;

public class Foods {
		public static void main(String[] args) {
		Fooduser.add("亚索", "召唤师峡谷", "麻辣香锅", 56, 1, 11);
		Fooduser.add("瑞文", "召唤师峡谷", "麻辣香锅", 56, 0, 11);
		main();	
		}
		public static void main(){
			System.out.println("*************************");
			System.out.println("*\t欢迎来到吃货联盟\t*");
			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("请选择您的序号");
			int aa = scanint(1,6);
			option(aa);
			System.out.println("返回主菜单");
			main();
		}
		public static void option(int v){
			switch(v){
			case 1:one();break;
			case 2:two();break;
			case 3:there();break;
			case 4:four();break;
			case 5:five();break;
			case 6:System.out.println("系统已退出");System.exit(1);break;
			}
			
		}
		//这一段是程序的主要入口和选择 通过选择方法scanint进入1-6以内的不同程序
		public static void there(){
			two();
			System.out.println("请输入你要签收的订单序号");
			int key  =  scanint(1, Fooduser.use.size())-1;//集合最大值减一,获取集合下标
			if(Fooduser.use.get(key).statc==0){
				System.out.println("签收成功");
				Fooduser.use.get(key).statc = 1; 
			}else{
				System.out.println("签收失败,该订单已经被签收");
			}
		}
		public static void five(){
			Foodfood.food();
			System.out.println("请输入你要点赞的菜品");
			int num = scanint(1, Foodfood.good.length)-1;
			Foodfood.good[num] +=1;
			System.out.println("点赞成功");
		}
		public static void one(){
			Foodfood.food();
			System.out.println("请输入你要点餐的序号");
			int nu = scanint(1,3)-1;
			System.out.println("你点的菜品名称为:"+Foodfood.name[nu]);
			System.out.println("请输入你要点的菜品份数:");
			Foodfood.num = scanint(1,999);
			double price = Foodfood.num*Foodfood.price[nu];
			System.out.println("你点的为:"+Foodfood.name[nu]+"份数"+Foodfood.num+"总金额为:"+price);
			int can = 0;
			if(price<50){
				System.out.println("你的点餐金额小于50元,需收点餐金额5元");
				can = 5;
			}
			price  += can;
			System.out.println("送餐费:"+can);
			System.out.println("你的点餐金额为"+price);
			System.out.println("请输入你的姓名:");
			String name = scan();
			System.out.println("请输入你的地址");
			String add = scan();
			System.out.println("请输入你需要的送餐时间:(10-22)");
			int time = scanint(10,22);
			Fooduser.add(name, add, Foodfood.name[nu], price,0,time);//将数据传入集合
			System.out.println("你的点餐完毕");
			
		}
		public static void two(){
			//查看餐袋 输出集合方法
			System.out.println("序号\t客户姓名\t菜品名称\t总金额\t地址\t送餐时间\t订单状态\t");
			Fooduser.get();
		}
		public static void four(){
			System.out.println("请输入你要删除的订单序号");
			int key = scanint(1,Fooduser.use.size())-1;
			if(Fooduser.use.get(key).statc==1){
			Fooduser.use.remove(key);
			System.out.println("订单删除成功");
			}else{
				System.out.println("该订单未签收,请先签收在删除");
			}
		}
		public static int scanint(int v,int r){
			int i = 0;
			while(true){
				Scanner in = new Scanner(System.in);
				if(in.hasNextInt()){
				i = in.nextInt();
				if(i<v||i>r){
					System.out.println("输入错误序号,请重新输入");
					continue;
				}else{
					return i;
				}
				}else{
					System.out.println("输入错误序号,请重新输入");
					continue;
				}
			}
			
		}
		public static String scan(){
			String i = "";
			Scanner in = new Scanner (System.in);
			i = in.next();
			return i ;
		}
		public static void check(){
			
		}
}

然后吃货联盟模块就做好了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值