文章目录

  • (一)、创建名片实体类
  • (二)、创建名片管理类
    • 1、创建主菜单
    • 2、创建登陆方法
    • 3、创建名片管理方法
    • 4、创建添加名片方法
    • 5、创建保存名片方法
  • 实现可进可退的多级菜单系统
  • 功能:添加名片、查询名片、修改名片、删除名片、保存名片、读取名片
  • 要求:数据要持久化保存到磁盘上

(一)、创建名片实体类

net.yx.p07.t01包里创建Card

编写代码


package net.yx.p07;/*** 功能:名片实体类* 作者:yanxi* 日期:2022年05月26日*/
public class Card {private String id;private String name;private String workUnit;private String post;private String telephone;/*** 无参构造方法*/public Card() {}/*** 有参构造方法** @param id* @param name* @param workUnit* @param post* @param telephone*/public Card(String id, String name, String workUnit, String post, String telephone) {this.id = id;this.name = name;this.workUnit = workUnit;this.post = post;this.telephone = telephone;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getWorkUnit() {return workUnit;}public void setWorkUnit(String workUnit) {this.workUnit = workUnit;}public String getPost() {return post;}public void setPost(String post) {this.post = post;}public String getTelephone() {return telephone;}public void setTelephone(String telephone) {this.telephone = telephone;}@Overridepublic String toString() {return "Card{" +"id='" + id + '\'' +", name='" + name + '\'' +", workUnit='" + workUnit + '\'' +", post='" + post + '\'' +", telephone='" + telephone + '\'' +'}';}
}

(二)、创建名片管理类

net.yx.p07.t01包里创建CardManagement

1、创建主菜单

编写代码

package net.yx.p07.t01;import net.yx.p07.Card;import java.util.Scanner;/*** 功能:名片管理类* 作者:yanxi* 日期:2022年05月26日*/
public class CardManagement {public static void main(String[] args) {// 声明部分int mc1;Scanner sc = new Scanner(System.in);boolean isRunning = true; // 循环控制变量while (isRunning) {// 绘制一级菜单System.out.println("  名片管理系统");System.out.println("================");System.out.println("   1. 登录");System.out.println("   0. 退出");System.out.println("================");System.out.print("输入菜单编号[1,0]:");mc1 = sc.nextInt();// 根据用户选择进行相应的操作switch (mc1) {case 1:// 调用登录方法login();break;case 0:System.out.println("谢谢使用~再见~");isRunning = false; // 结束循环break;default:System.out.println("输入的菜单编号有误!");}}}
}
  • login()未定义

2、创建登陆方法

CardManagement类创建login()方法
编写代码

    /*** 登录方法*/private static void login() {String username, password;Scanner sc = new Scanner(System.in);System.out.print("用户名:");username = sc.next();System.out.print("密  码:");password = sc.next();if (username.equals("haha") && password.equals("020915")) {System.out.println("登录成功~");// 调用名片管理方法cardManagement();} else {System.out.println("用户名或密码有误,登录失败~");}}
}

login()方法要调用的名片管理cardManagement()尚未定义

3、创建名片管理方法

CardManagement类创建addCard()方法
编写代码

package net.yx.p07.t01;import net.yx.p07.Card;import java.util.Scanner;/*** 功能:名片管理类* 作者:yanxi* 日期:2022年05月26日*/
public class CardManagement {public static void main(String[] args) {// 声明部分int mc1;Scanner sc = new Scanner(System.in);boolean isRunning = true; // 循环控制变量while (isRunning) {// 绘制一级菜单System.out.println("  名片管理系统");System.out.println("================");System.out.println("   1. 登录");System.out.println("   0. 退出");System.out.println("================");System.out.print("输入菜单编号[1,0]:");mc1 = sc.nextInt();// 根据用户选择进行相应的操作switch (mc1) {case 1:// 调用登录方法login();break;case 0:System.out.println("谢谢使用~再见~");isRunning = false; // 结束循环break;default:System.out.println("输入的菜单编号有误!");}}}/*** 登录方法*/private static void login() {String username, password;Scanner sc = new Scanner(System.in);System.out.print("用户名:");username = sc.next();System.out.print("密  码:");password = sc.next();if (username.equals("haha") && password.equals("020915")) {System.out.println("登录成功~");// 调用名片管理方法cardManagement();} else {System.out.println("用户名或密码有误,登录失败~");}}/*** 名片管理方法*/private static void cardManagement() {int mc2;Scanner sc = new Scanner(System.in);boolean isRunning = true; // 循环控制变量while (isRunning) {// 绘制二级菜单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("  7. 返回上级");System.out.println("=======================");System.out.print("输入菜单编号[1,2,3,4,5,6,7]:");mc2 = sc.nextInt();switch (mc2) {case 1:System.out.println("执行添加名片功能~");break;case 2:System.out.println("执行修改名片功能~");break;case 3:System.out.println("执行查询名片功能~");break;case 4:System.out.println("执行删除名片功能~");break;case 5:System.out.println("读取名片文件到名片数组列表~");break;case 6:System.out.println("将名片数组列表写入名片文件~");break;case 7:isRunning = false; // 结束二级菜单循环break;default:System.out.println("输入的菜单编号有误!");}}}/*** 添加名片方法*/private void addCard() {// 声明变量String id;String name;String workUnit;String post;String telephone;Scanner sc = new Scanner(System.in);// 输入名片信息System.out.print("编号:");id = sc.next();System.out.print("姓名:");name = sc.next();System.out.print("单位:");workUnit = sc.next();System.out.print("职位:");post = sc.next();System.out.print("手机:");telephone = sc.next();// 创建名片对象Card card = new Card(id, name, workUnit, post,telephone);}
}
  • 可进可退菜单系统完成,测试

4、创建添加名片方法

CardManagement包里创建addCard()方法

在类的声明部分创建名片列表对象

编写addCard()方法代码

    /*** 添加名片方法*/private static void addCard() {// 声明变量String id;String name;String workUnit;String post;String telephone;Scanner sc = new Scanner(System.in);// 输入名片信息System.out.print("编号:");id = sc.next();System.out.print("姓名:");name = sc.next();System.out.print("单位:");workUnit = sc.next();System.out.print("职位:");post = sc.next();System.out.print("手机:");telephone = sc.next();// 创建名片对象Card card = new Card(id, name, workUnit, post, telephone);// 将名片对象添加名片数组列表cards.add(card);}
}

修改CardManagement()方法

运行代码

5、创建保存名片方法

CardManagement类创建saveCard方法

  • 遍历名片数组列表,将每一个名片对象的数据写入名片文件
    /*** 保存名片到文件*/private static void saveCards() {try{//创建文件字符输出流FileWriter fw = new FileWriter("Cards.txt");//创建名片容器字符串缓冲对象StringBuffer cardsBuffer = new StringBuffer();//用增强for循环遍历名片数组列表for (Card card : cards) {//输出名片对象System.out.println(card);//创建名片字符串缓冲对象StringBuffer buffer = new StringBuffer();//添加名片字段信息(空格作为分隔符)buffer.append(card.getId() + " ");buffer.append(card.getName() + " ");buffer.append(card.getWorkUnit() + " ");buffer.append(card.getPost() + " ");buffer.append(card.getTelephone());//将名片信息添加到名片容器字符串缓冲对象cardsBuffer.append(buffer.toString() + "\n");}//将名片容器字符串缓冲对象里的数据写入文件fw.write(cardsBuffer.toString());//关闭文件字符输出流fw.close();//提示用户写入成功System.out.println("恭喜,名片数据成功写入文件~");} catch (IOException e) {e.printStackTrace();}}
  • 修改CardManagement()方法,添加调用saveCards()方法

    运行程序

查看已保存的名片文件

Java名片管理系统相关推荐

  1. Java——名片管理系统

    目录 任务1.确定给定日期是一年的第几天 任务 2.构建可进不可退的多级菜单系统 任务1.确定给定日期是一年的第几天 要求输入年.月.日,最好能判断用户输入的是否是合法日期 比如2022年3月31日, ...

  2. java web简单的网上名片管理系统

    java web简单的网上名片管理系统 实现名片的增删查改以及回收站中信息的还原与彻底删除 1.登录注册页面 <%@ page language="java" content ...

  3. Java学习:创建简单的名片管理系统

    创建简单的名片管理系统 一.创建名片实体类 二.创建名片管理类 1. 创建主菜单 2. 创建登录方法 3. 创建名片管理方法 5. 添加名片方法 6.创建保存名片方法 7.创建读取名片文件方法 8. ...

  4. Java任务项目-名片管理系统

    文章目录 任务:名片管理系统 (一)任务完整代码 (二)代码步骤解析 1.创建Card类(名片实体类),代码编写 2.创建CardManagement类(名片管理系统) 3.创建添加名片方法 4.保存 ...

  5. 名片管理系统java,[作业]JavaEE框架开发技术之名片管理系统

    这是Java EE框架开发技术一书中贯穿整本书的一个练习系统(作业). 代码一共有两个部分 第一部分是第五章的作业,完成如下 使用原生的jdbc代码进行数据库的连接 界面和书本完全相同 除部分js代码 ...

  6. java名片_javaweb名片管理系统

    在学习基于javaweb的名片管理系统项目的时候,方便日后能及时查阅,在本平台中记录一下基于javaweb的名片管理系统的开发流程.在学习时候的选用了SSM(MYECLIPSE),这个框架不论是学习还 ...

  7. 【Java面向对象编程——名片管理系统】

    文章目录 (一)编程实现 1.创建名片实体类 2.创建名片管理类 (1)创建主菜单 (2)创建登录方法 (3)创建名片管理方法 (4)创建添加名片方法 (5)创建保存名片方法 (6)创建读取名片文件方 ...

  8. JAVA名片注册_JavaWeb练习-网上名片管理系统

    实验项目名称 JavaWeb网上名片管理系统 实验目的 实现名片的增.删.改.查等操作. 实验基本原理 JSP指令.JSP动作.JSP内置对象等 主要仪器设备及耗材 Win10.Myeclipse 实 ...

  9. java web 名片管理系统

    关注微信公众号:查看菜单<项目> 1.基础功能介绍 登录.注册 所有名片 查询名片[提交.重置] 修改名片[修改] 新增名片[添加.重置] 删除名片[删除.放入回收站] 回收站[还原.删除 ...

最新文章

  1. eclipse类文件无法找到_「Revit技巧」新建项目和族时无法找到样板文件(丢失)?...
  2. ListBox和ComboBox绑定数据简单例子
  3. CentOS系统Kernel panic - not syncing: Attempted to k
  4. nginx下apk下载,ie9的问题
  5. 如果secureCRT安装时位置改变,EVE-NG如何关联secureCRT
  6. 位置式数字PI控制器C语言
  7. 【组合逻辑电路】——通用译码器
  8. 今天不知明天晚,独自面对心受伤
  9. 区块链技术入门,涉及哪些编程语言?
  10. 中国人民银行 中国银行业监督管理委员会关于印发农村信用社改革试点专项中央银行票据兑付考核办法的通知(银发[2004]253号)
  11. 3d打印在影视领域应用
  12. android源码结构分析
  13. 5.[STM32]动动小手,自己制作做一个自动浇花系统吧
  14. 基于Node.js的图书管理系统
  15. 计算机及处理器温度要求国标,【国家标准】GB 4967-1995电子计算器通用技术条件.pdf...
  16. 在vue里使用reset.css
  17. android txt小说阅读器的实现
  18. android 图片淡入,Android使用ImageView淡入和淡出
  19. RabbitMQ的消息应答机制和轮询策略
  20. Java实现多级目录文件下载压缩包

热门文章

  1. 信息安全系统设计基础第十四周学习总结
  2. 2023年我终于进阿里了,阿里offer五面经验与总结
  3. Browsersandbox浏览器兼容性测试工具介绍
  4. 基于高光谱数据的城市不透水面研究
  5. 应用ceph块存储(ceph-13.2.10)
  6. 探测器反向偏压_(如光电二极管)反向偏置.ppt
  7. 弱网测试工具-Network-Emulator-Toolkit
  8. 2021广东高考成绩位次排名查询,广东高考排名对应大学-广东高考位次查询(2021年文科参考)...
  9. html图片平铺div,前端小知识——图片平铺问题
  10. rpcbind服务死活启动不了