java开发用amd处理器_用Java开发一个停车场系统

★★★建议星标我们★★★

26279f3e23b3885178df9e4880db6512.png adf8c3933df51857aebe3e0ab4c3fa4b.png

2020年Java原创面试题库连载中

【000期】Java最全面试题库思维导图

【020期】JavaSE系列面试题汇总(共18篇)

【028期】JavaWeb系列面试题汇总(共10篇)

【042期】JavaEE系列面试题汇总(共13篇)

【049期】数据库系列面试题汇总(共6篇)

【053期】中间件系列面试题汇总(共3篇)

【065期】数据结构与算法面试题汇总(共11篇)

【076期】分布式面试题汇总(共10篇)

【077期】综合面试题系列(一)

【078期】综合面试题系列(二)

【079期】综合面试题系列(三)

【080期】综合面试题系列(四)

【081期】综合面试题系列(五)

【082期】综合面试题系列(六)

【083期】综合面试题系列(七)

【084期】综合面试题系列(八)

【085期】综合面试题系列(九)

【086期】综合面试题系列(十)

【087期】综合面试题系列(十一)

【088期】综合面试题系列(十二)

【089期】综合面试题系列(十三)

更多内容,点击上面蓝字查看

adf8c3933df51857aebe3e0ab4c3fa4b.png

来源:blog.csdn.net/weixin_43951778

现开发一个停车系统,用户根据车位停车

1)车主查看现在有无车位(最多100个车位),给车主随机分配一个车位,如果该位置上有车,不能停

2)按停车时间收费,3小时以内不收费,3小时以外,每小时2元,最大20元

3)车主可以查看自己停车的车位和收费,以及停车的时长

4)查看历史停车记录

管理员:

查看现有的剩余车位

查看已停车的车位

查看停在车位上的车以及历史缴费

6ba70e3a1d87ddc092e75dafa1c01d5d.png dd892040f788a327be131ba9d70e717a.png 8c37b95a9286b242f9cbf219421dbf13.png 0b5fb9925e0ecc3bd7bebf10d3fe1609.png cdcc05e8cf1b2383fd48753808748b59.png 3921a7350fa1ac8be09b1dec5d5ab212.png 02da2565562c853ff4bf7ce26cbe8234.png d2c05cf12198eb40b9f5dbc434680548.png

Client

package com.gem.client;import java.util.Scanner;import com.gem.entity.Admin;import com.gem.entity.User;import com.gem.service.impl.AdminServiceImpl;import com.gem.service.impl.CarParkingServiceimpl;import com.gem.service.impl.UserServiceimpl;public class Client { public static void main(String[] args) { CarParkingServiceimpl carparkingservice = CarParkingServiceimpl.getCarparkingservice; UserServiceimpl userserviceimpl = UserServiceimpl.getUserserviceimpl; Scanner scanner = new Scanner(System.in); Menu1(carparkingservice, userserviceimpl, scanner); } private static void Menu1(CarParkingServiceimpl carparkingservice, UserServiceimpl userserviceimpl, Scanner scanner) { while (true) { System.out.println("****欢迎进入停车系统****"); System.out.println("***1.请输入您的车牌***"); System.out.println("***2.管理员"); System.out.println("***3.退出****"); int choice = Integer.parseInt(scanner.nextLine.trim); switch (choice) { case 1: System.out.println("请输入您的车牌"); String chepai = scanner.nextLine.trim; User a = userserviceimpl.login(new User(chepai)); if (a != ) { System.out.println("车牌登记成功"); Menu2(carparkingservice, userserviceimpl, scanner, a); } else { System.out.println("车牌登记失败"); } break; case 2: Menu_Manger(carparkingservice, userserviceimpl); default: break; } } } //管理员的登录注册 private static void Menu_Manger(CarParkingServiceimpl carparkingservice, UserServiceimpl userserviceimpl) { AdminServiceImpl adminserviceimpl = AdminServiceImpl.getAdminSeriver; while (true) { System.out.println("1.管理员登录"); System.out.println("2.管理员注册"); System.out.println("返回上一级"); Scanner scanner = new Scanner(System.in); int chose = Integer.parseInt(scanner.nextLine.trim); switch (chose) { case 1: System.out.println("请输入管理员账号"); String name = scanner.nextLine.trim; System.out.println("请输入管理员密码"); String password = scanner.nextLine.trim; if (adminserviceimpl.login(name, password) != ) { System.out.println("登录成功"); Menu_Manger2(carparkingservice, userserviceimpl, adminserviceimpl);//进行管理员操作 } else { System.out.println("登录失败"); return; } break; case 2: System.out.println("请输入注册账号"); name = scanner.nextLine.trim; System.out.println("请输入注册密码"); password = scanner.nextLine.trim; adminserviceimpl.register(new Admin(name, password)); break; case 3: return; default: return; } } } //管理员操作 private static void Menu_Manger2(CarParkingServiceimpl carparkingservice, UserServiceimpl userserviceimpl, AdminServiceImpl adminserviceimpl) { while (true) { System.out.println("***欢迎进入管理员操作***"); System.out.println("1.查看现有停车位"); System.out.println("2.查看停车位上的车以及缴费"); System.out.println("3.返回上一级"); Scanner scanner = new Scanner(System.in); int chose = Integer.parseInt(scanner.nextLine.trim); switch (chose) { case 1: carparkingservice.showlist;//显示目前所有的空的车位 break; case 2: carparkingservice.show; break; case 3: return; default: System.out.println("输入错误"); break; } } } private static void Menu2(CarParkingServiceimpl carparkingservice, UserServiceimpl userserviceimpl, Scanner scanner, User a) { while (true) { System.out.println("欢迎车牌为:" + a.getCarid + "车主" + "请选择您要的服务"); System.out.println("1.停车"); System.out.println("2.离开并缴费"); System.out.println("3.查看停车车位"); System.out.println("4.停车时长"); System.out.println("0.返回上一级"); int chose = Integer.parseInt(scanner.nextLine.trim); switch (chose) { case 1: if (carparkingservice.chack(a.getCarid)) { break; } while (true) { int random = (int) (Math.random * 10); //随机一个车位 if (carparkingservice.parkcar(random, a.getCarid)) { System.out.println("停车成功,停车位置为:" + random); break; } else { System.out.println("当前车位有车"); } } break; case 2: if (carparkingservice.leavecar(a.getCarid)) { System.out.println("请缴费"); } else { System.out.println("该车未停"); } break; case 3: carparkingservice.showlist;//显示目前所有的空的车位 break; case 4: carparkingservice.showcartime(a.getCarid);//显示停车时长 break; case 0: return; default: System.out.println("输入错误"); break; } } }}

Admin

package com.gem.entity;import java.util.ArrayList;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;@AllArgsConstructor@NoArgsConstructor@Getter@Setterpublic class Admin { private String username; private String password; private double money; private ArrayList list = new ArrayList; @Override public String toString { return username + "" + password; } public Admin(String username, String password) { super; this.username = username; this.password = password; }}

CarParking

package com.gem.entity;import java.text.SimpleDateFormat;import java.util.Date;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.NoArgsConstructor;@AllArgsConstructor@NoArgsConstructor@Getterpublic class CarParking { //车位 public static String getLishi { return lishi; } public static void setLishi(String lishi) { CarParking.lishi = lishi; } private int id; //停车的编号 private double money;//钱的计算 private String state; //当前停车状态 private Date stime;//停车时间 private Date etime;//停车结束 private static double allmoney; private static String lishi = ""; public void setEtime {//停车结束时间 etime = new Date; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String time = dateFormat.format(this.etime); } public void setStime {//停车开始时间 stime = new Date; SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); String time1 = dateFormat.format(this.stime); } public String toString { return id + "" + money + "" + stime; } public CarParking(int id, String state) { this.id = id; this.state = state; } public void CarPark(int id, String carid) { // TODO Auto-generated method stub this.id = id; this.state = carid; } public int getId { return id; } public void setId(int id) { this.id = id; } public double getMoney { return money; } public void setMoney(double money) { this.money = money; } public String getState { return state; } public void setState(String state) { this.state = state; } public static double getAllmoney { return allmoney; } public static void setAllmoney(double allmoney) { CarParking.allmoney = allmoney; }}

User

package com.gem.entity;import lombok.AllArgsConstructor;import lombok.Getter;import lombok.NoArgsConstructor;import lombok.Setter;@AllArgsConstructor@Setter@NoArgsConstructor@Getterpublic class User { private String carid; //车牌登录 @Override public String toString { return "车牌为" + carid; }}

AdminService

package com.gem.service;/* * 管理员业务接口 *  * */import com.gem.entity.Admin;public interface AdminService { //登录 Admin login(String username, String password); //注册 boolean register(Admin admin);}

AdminServiceImpl

package com.gem.service.impl;import java.util.ArrayList;import com.gem.entity.Admin;import com.gem.service.AdminService;/* * 管理员类实现类 * */public class AdminServiceImpl implements AdminService { private ArrayList adminList = new ArrayList; //单例饿汉模式 private static final AdminServiceImpl adminSeriver = new AdminServiceImpl; public static AdminServiceImpl getAdminSeriver { return adminSeriver; } private AdminServiceImpl { } @Override //管理员登录 public Admin login(String username, String password) {//登录 for (Admin admin : adminList) { if (admin.getUsername.equals(username) && admin.getPassword.equals(password)) { return admin; } } return ; } @Override //添加管理员 public boolean register(Admin admin) { boolean flag = adminList.add(admin);//添加管理员 return flag; }}

CarParkingService

package com.gem.service;public interface CarParkingService { boolean parkcar(int id, String carid); //停车 void showlist;//显示所有列表 boolean leavecar(String carid); //离开}

CarParkingServiceimpl

package com.gem.service.impl;import java.util.ArrayList;import java.util.Date;import com.gem.entity.CarParking;import com.gem.service.CarParkingService;public class CarParkingServiceimpl implements CarParkingService { private ArrayList carpaking = new ArrayList; { for (int i = 1; i <= 10; i++) { carpaking.add(new CarParking(i, "当前车位为空")); // 为100个车位赋予编号 和状态 } } private static CarParkingServiceimpl carparkingservice = new CarParkingServiceimpl; public static CarParkingServiceimpl getCarparkingservice { return carparkingservice; } public CarParkingServiceimpl { } //停车过来的信息,车牌,还有车位,还有更改状态,利用车位编号来改变内容 @Override public boolean parkcar(int id, String carid) { // TODO Auto-generated method stub for (CarParking car : carpaking) { if (id == car.getId && car.getState.equals("当前车位为空")) { car.setState(carid); car.setStime; return true; //停车成功 } } return false;//当前车位有车 } @Override //显示所有停车系统的信息 public void showlist { // TODO Auto-generated method stub for (CarParking car : carpaking) { System.out.println(car.getId + "" + car.getState); } } public void showcartime(String carid) { // TODO Auto-generated method stub for (CarParking car : carpaking) { if (car.getState.equals(carid)) { car.setEtime; Date time1 = car.getEtime;//得到当前的查询时间 Date time2 = car.getStime;//得到开始时间 System.out.println("车位为:" + car.getId + "车牌为" + car.getState); System.out.println("停车时间为:" + car.getStime); System.out.println("当前时间为:" + car.getEtime); System.out.println("已经停车时间为:" + (time1.getTime - time2.getTime) / (1000 * 60 * 60)); } } } public boolean leavecar(String carid) { // TODO Auto-generated method stub for (CarParking car : carpaking) { if (car.getState.equals(carid)) { car.setEtime; Date time1 = car.getEtime;//得到当前的查询时间 Date time2 = car.getStime;//得到开始时间 long t = (time1.getTime - time2.getTime) / (1000 * 60 * 60); System.out.println("车位为:" + car.getId + "车牌为" + car.getState); System.out.println("停车时间为:" + car.getStime); System.out.println("当前时间为:" + car.getEtime); System.out.println("已经停车时间为:" + t); if (t <= 3) { car.setMoney(0); car.setAllmoney(car.getAllmoney + car.getMoney); //钱累加 } else if (t > 3 && t <= 13) { car.setMoney(2 * (t - 3)); car.setAllmoney(car.getAllmoney + car.getMoney); //钱累加 } else if (t > 13) { car.setMoney(20); car.setAllmoney(car.getAllmoney + car.getMoney); //钱累加 } car.setLishi(car.getLishi + "车位:" + car.getId + "收入金额为:" + car.getMoney + ""); System.out.println("停车费为:" + car.getMoney); car.setState("当前车位为空"); return true; } } return false; } public void show { // TODO Auto-generated method stub for (CarParking car : carpaking) { System.out.println(car.getLishi); return; } } public boolean chack(String carid) { for (CarParking car : carpaking) { if (car.getState.equals(carid)) { System.out.println("车辆正在停使中"); return true; } } return false; }}

UserService

package com.gem.service;import com.gem.entity.User;public interface UserService { //用车牌登录 User login(User a);}

UserServiceimpl

package com.gem.service.impl;import java.util.ArrayList;import com.gem.entity.User;import com.gem.service.UserService;public class UserServiceimpl implements UserService { private ArrayList user = new ArrayList; private static UserServiceimpl userserviceimpl = new UserServiceimpl; //单例 private UserServiceimpl { } public static UserServiceimpl getUserserviceimpl { return userserviceimpl; } @Override public User login(User a) { //把车牌录入 user.add(a); return a; }}
5bc448c55bb0ff5002c4f00e3568d66c.png

之前,给大家发过三份Java面试宝典,这次新增了一份,目前总共是四份面试宝典,相信在跳槽前一个月按照面试宝典准备准备,基本没大问题。

《java面试宝典5.0》(初中级)

《350道Java面试题:整理自100+公司》(中高级)

《资深java面试宝典-视频版》(资深)

《Java[BAT]面试必备》(资深)

分别适用于初中级,中高级资深级工程师的面试复习。

内容包含java基础、javaweb、mysql性能优化、JVM、锁、百万并发、消息队列,高性能缓存、反射、Spring全家桶原理、微服务、Zookeeper、数据结构、限流熔断降级等等。

ec80cbfe6ea543b7ec9e005a13aa88c5.gif

看到这里,证明有所收获

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值