一、概要

这里是用java写的一个快递柜管理系统,分为寄存和取出两个操作,寄存的时候快递柜有大、中、小之分,需要自己选择。成功的寄存之后,会生成一个6位数的取件码。可以凭借这个取件码完成取件(也就是快递员把快递放到快递柜里面之后,给你发一个取件码让你去取件)。

备注:在这我附加了一个功能,就是把每一次的操作都记录在了一个文件里面,用的是BufferedWriter类。

二、实现

话不多少,直接上代码,你们复制粘贴到你们写的类里面,点击运行就OK了。

package com.exp;import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Random;
import java.util.Scanner;public class Cabinet {public static int[] location = new int[36];static Scanner scan = new Scanner(System.in);public static void main(String[] args) {welcome();}public static void write(String text) {try {File file = new File("D:/CabinetOpeWrite.txt");Writer fw = new FileWriter(file, true);// 创建一个字符输出流对象BufferedWriter pw = new BufferedWriter(fw);// 输出文字到文件中pw.write(text);// 刷新流pw.flush();// 关闭流pw.close();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}/*** 定义一个画格子的方法*/public static void drawlocation() {System.out.println("大格子:");for (int i = 0; i < 12; i++) {// 遍历第一行的12个格子if (location[i] == 0) {// 判断格子中是否有东西System.out.print(" □ ");// 打印空格子} else {// 格子中有东西System.out.print(" ■ ");// 打印实心格子}}System.out.println();for (int j = 1; j <= 12; j++) {System.out.printf(" %2d ", j);// 给前12个格子编号}System.out.println();System.out.println("中格子:");for (int x = 12; x < 24; x++) {// 打印中间12个格子if (location[x] == 0) {// 判断格子中是否有东西System.out.print(" □ ");} else {// 格子中有东西System.out.print(" ■ ");}}System.out.println();for (int y = 13; y <= 24; y++) {System.out.printf(" %2d ", y);// 给中间12个格子编号}System.out.println();System.out.println("小格子:");for (int x = 24; x < 36; x++) {// 打印后12个格子if (location[x] == 0) {// 判断格子中是否有东西System.out.print(" □ ");} else {// 格子中有东西System.out.print(" ■ ");}}System.out.println();for (int y = 25; y <= 36; y++) {System.out.printf(" %2d ", y);// 给后12个格子编号}System.out.println();}/*** 定义一个放快递的方法*/public static void deposit() {Random rd = new Random();System.out.println("请输入格子大小(1、大格子,2、中格子,3、小格子):");write("您正在存快递,请选择格子大小!(1、大格子,2、中格子,3、小格子)\r\n");int size = scan.nextInt();if (size == 1) {System.out.println("您选择了大格子:");write("您选择了大格子\r\n");for (int i = 0; i <= 11; i++) {if (location[i] == 0) {// 格子是空的location[i] = rd.nextInt(999999) + 100000;// 生成密码System.out.println();System.out.println("这是您的密码:" + location[i] + ",切勿告诉他人~");write((i + 1) + "号格子可以使用,这是您的密码:" + location[i] + ",切勿告诉他人~\r\n");break;}if (i == 11) {System.out.println("格子已经满了,请稍后!");write("格子已经满了,请稍后!\r\n");}}} else if (size == 2) {System.out.println("您选择了中格子:");write("您选择了中格子\r\n");for (int i = 12; i <= 23; i++) {if (location[i] == 0) {// 格子是空的location[i] = rd.nextInt(999999) + 100000;// 生成密码System.out.println((i + 1) + "号格子可以使用");System.out.println("这是您的密码:" + location[i] + ",切勿告诉他人~");write((i + 1) + "号格子可以使用,这是您的密码:" + location[i] + ",切勿告诉他人~\r\n");break;}if (i == 23) {System.out.println("格子已经满了,请稍后!");write("格子已经满了,请稍后!\r\n");}}} else if (size == 3) {System.out.println("您选择了小格子:");write("您选择了小格子\r\n");for (int i = 24; i <= 35; i++) {if (location[i] == 0) {// 格子是空的location[i] = rd.nextInt(999999) + 100000;// 生成密码System.out.println((i + 1) + "号格子可以使用");System.out.println("这是您的密码:" + location[i] + ",切勿告诉他人~");write((i + 1) + "号格子可以使用,这是您的密码:" + location[i] + ",切勿告诉他人~\r\n");break;}if (i == 35) {System.out.println("格子已经满了,请稍后!");write("格子已经满了,请稍后!\r\n");}}} else {System.out.println("您的输入有误,请重新运行系统!");write("您的输入有误,请重新运行系统!\r\n");System.exit(0);}}/*** 定义一个取快递的方法*/public static void pickUp() {int count = 0;// 计数器,记录密码输错次数System.out.println("请输入箱号:");write("您正在取快递,请输入箱号!\r\n");int i = scan.nextInt() - 1;if (i > 35) {System.out.println("不存在该储物格子");write("不存在该储物格子\r\n");} else {if (location[i] == 0) {System.out.println("该格子中并没有东西!");write("该格子中并没有东西!\r\n");} else {while (true) {System.out.println("请输入格子密码:");write("请输入格子密码:\r\n");int pwd = scan.nextInt();if (location[i] == pwd) {System.out.println((i + 1) + "号格子打开,请取走您的贵重物品!");write((i + 1) + "号格子打开,请取走您的贵重物品!\r\n");location[i] = 0;break;} else {count++;System.out.println("密码错误,请重新输入!");write("密码错误,请重新输入!\r\n");if (count >= 3) {System.out.println("密码输错3次,储物箱被锁定,请联系前台服务人员解决。");write("密码输错3次,储物箱被锁定,请联系前台服务人员解决。\r\n");return;}}}}}}/*** 欢迎界面*/public static void welcome() {System.out.println("\t------------快递柜管理系统------------\n\n");System.out.println("\t  ╱╲╱╲ ╰★╮【快】╭★╯  ╱╲╱╲      \n");System.out.println("\t   ╲欢╲╱ ╰☆╮【递】╭☆╯  ╲╱欢╱      \n");System.out.println("\t   ╱╲迎╲  ╰★╮【柜】╭★╯  ╱迎╱╲      \n");write("欢迎光临快递柜管理系统!\r\n");operate();}/*** 操作方法*/public static void operate() {while (true) {drawlocation();System.out.println("\t--------------------------------------\n");System.out.println("\t     1、存包     2、取包     0、退出");System.out.println("请选择操作:");int select = scan.nextInt();write("1、存包     2、取包     0、退出,您选择了" + select + "。\r\n");switch (select) {case 1:deposit();break;case 2:pickUp();break;case 0:exit();break;default:System.out.println("输入错误");write("输入错误\r\n");break;}}}/*** 退出方法*/public static void exit() {System.out.println("欢迎下次再来,Bye Bye!!!");write("欢迎下次再来,Bye Bye!!!\r\n");System.exit(0);}}

三、运行


运行之后你会在控制台看到这样的操作提示,根据提示操作就可以了。

备注:记录你自己每次操作的文件的目录在D盘下CabinetOpeWrite.txt这个文件里面。这个目录代码里面有,名称和地址都可以修改。

可以接java相关毕业设计代做,有需要加微信:18739766888

java写快递柜管理系统相关推荐

  1. [附源码]JAVA+ssm基于Internet快递柜管理系统(程序+Lw)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  2. java计算机毕业设计Internet快递柜管理系统(附源码、数据库)

    java计算机毕业设计Internet快递柜管理系统(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ E ...

  3. java计算机毕业设计Internet快递柜管理系统源码+mysql数据库+系统+lw文档+部署

    java计算机毕业设计Internet快递柜管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计Internet快递柜管理系统源码+mysql数据库+系统+lw文档+部署 本源 ...

  4. java毕业设计Internet快递柜管理系统源码+系统+数据库+lw文档+调试运行

    java毕业设计Internet快递柜管理系统源码+系统+数据库+lw文档+调试运行 注意:该项目只展示部分功能,如需了解,文末获取源码地址. 临近学期结束,还是毕业设计,你还在做java程序.网络编 ...

  5. [附源码]Python计算机毕业设计SSM基于Internet快递柜管理系统(程序+LW)

    环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,St ...

  6. 计算机毕设(附源码)JAVA-SSM基于Internet快递柜管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  7. 计算机毕业设计ssm+vue基本微信小程序的快递柜管理系统 uniapp 小程序

    项目介绍 随着计算机信息技术的发展,越来越多的用户使用手机,各种信息化应用出现在智能手机中,特别是微信APP拥有大量的用户群,使用微信小程序可以为人们的生活提供便利.另一方面,我国网购数量日益增加,各 ...

  8. 计算机毕业设计ssm+vue基本微信小程序的快递柜管理系统

    项目介绍 随着计算机信息技术的发展,越来越多的用户使用手机,各种信息化应用出现在智能手机中,特别是微信APP拥有大量的用户群,使用微信小程序可以为人们的生活提供便利.另一方面,我国网购数量日益增加,各 ...

  9. [附源码]java毕业设计基于Java的快递驿站管理系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  10. 用Java写一个信息管理系统与学习心得

    目录 创建项目所需要的依赖项 创建目录 主要实现功能: 添加武器信息: 更新武器信息: 删除武器信息 查找武器 分页 排序 设置页面效果 效果展示: 心得体会: 最后为大伙奉上源码: Java期末项目 ...

最新文章

  1. 响应式网页之媒体查询
  2. java 面向接口编程的理解
  3. PPT 下载 | 神策数据曹犟:数据驱动从方法到实践
  4. Java 实现 淘宝秒杀 聚划算 自己主动提醒 源代码
  5. cario java_Cairo图形库 概述
  6. 本科,程序员,北京工作两年多,税后12k,出路在哪里?
  7. [转]OpenMP 入门指南
  8. 使用wireshark监控网络字节流
  9. User-Agent for Chrome浏览器模拟微信功能
  10. 对于百度统计热力点击图的研究
  11. MacBook网络连接正常无法访问网页
  12. EDM营销的关键是什么
  13. JSONObject.toBean() 把jsonobject转换成实体类
  14. python主网站_python主网站提供的集成开发环境名称为IDLE
  15. 《数字图像处理》主编:曹茂永
  16. [虚拟机保护] [原创]关于滴水的VT调试器
  17. 基于WebSocket的在线聊天室
  18. 戴尔Optiplex-7080装ubuntu16.04双系统时遇到的一些坑
  19. 为何20年九江大桥一撞就散 而50年武汉大桥无恙
  20. 互抬互高,互踩互低(深度好文)

热门文章

  1. 我们通常所说的利率是指_我们通常所说的利率是指()。 A.市场利率B.名义利率C.实际利率D.固定利率...
  2. 数据结构练习题【哈夫曼树、图、排序、散列表】
  3. 《A Tale of Two Worlds (CCS‘19)》笔记
  4. Branch Prediction Is Not A Solved Problem:Measurements, Opportunities, and Future Directions(IISWC)
  5. 显卡驱动卸载工具DDU
  6. FTM的PWM、输入捕获、正交解码
  7. 头歌-自己动手画CPU(第一关)-8位可控加减法器-Logisim
  8. PMP子过程定义总结
  9. AUTOSAR CDD 模块解析 --- 设计建议
  10. 加推与多家上市企业合作,智能名片小程序为企业销售赋能