当前位置: 首页 > news >正文

Java学习-简单的用户管理系统

用户管理系统
  • 实现基本的用户类,用于抽象出用户的基本信息(编号,姓名,性别,电话,邮件)–Student
  • 实现用户工具类,用于实现用户的增、删、改、查–StudentUtils
  • 测试类,用于测试使用–StudentTest
//Student类
public class Student {private int id;private String username;private String sex;private String telephone;private String email;public Student(int id, String username, String sex, String telephone, String email) {this.id = id;this.username = username;this.sex = sex;this.telephone = telephone;this.email = email;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getTelephone() {return telephone;}public void setTelephone(String telephone) {this.telephone = telephone;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}@Overridepublic String toString() {return id +"\t    " + username + "\t  " + sex +"\t  " + telephone +"\t\t" + email ;}
}//StudentUtils类
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
//基于饿汉式单例模式实现类的单例创建
public class StudentUtils {private static StudentUtils studentUtils = new StudentUtils();private static List<Student> stuList = new ArrayList<>();private static int count = 0;public static StudentUtils getInstance() {return studentUtils;}private StudentUtils(){}//显示信息输出public void print() {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("              请选择(1-5)");}//添加用户信息public void addStu() {String username = getInput("请输入用户名");String sex = getInput("请输入性别");String telephone = getInput("请输入电话");String email = getInput("请输入邮件");Student stu = new Student(++count,username,sex,telephone,email);stuList.add(stu);}//修改用户信息public void updateStu() {String sid = getInput("请输入要修改用户的编号");int stuId = Integer.parseInt(sid) - 1;Student stu = stuList.get(stuId);String username = getInput("请输入用户名--" + stu.getUsername());String sex = getInput("请输入性别--" + stu.getSex());String telephone = getInput("请输入电话--" + stu.getTelephone());String email = getInput("请输入邮件--" + stu.getEmail());stu.setId(stu.getId());stu.setUsername(username);stu.setSex(sex);stu.setEmail(email);stuList.set(stuId,stu);}//删除用户public void delStu() {String sid = getInput("请输入要删除用户的编号");int stuId = Integer.parseInt(sid) - 1;if (stuId + 1 > count) {System.out.println("不存在的用户");return;}stuList.remove(stuId);System.out.println(sid + "号用户删除成功");this.printStuList();}//输出用户列表信息public void printStuList() {System.out.println("--------------用户列表--------------");System.out.printf("编号\t姓名\t性别\t电话\t\t邮件");System.out.println();if (count == 0) {System.out.println("目前还没有用户");return;}for (Student stu : stuList) {System.out.printf(stu.toString());System.out.println();}}public String getInput(String promptInfo) {System.out.println(promptInfo);Scanner scanner = new Scanner(System.in);String info = scanner.next();return info;}
}
//StudentTest类
import java.util.Scanner;
public class StudentTest {private static  boolean flag = true;public static void main(String[] args) {StudentUtils studentUtils = StudentUtils.getInstance();while (flag) {studentUtils.print();Scanner scanner = new Scanner(System.in);String inputSelect = scanner.next();try {int i = Integer.parseInt(inputSelect);if (i <= 0 || i > 5) {System.out.println("请输入1-5之间的数字");}} catch (NumberFormatException e) {System.out.println("请输入1-5之间的数字");}switch (inputSelect) {case "1":studentUtils.addStu();break;case "2":studentUtils.updateStu();break;case "3":studentUtils.delStu();break;case "4":studentUtils.printStuList();break;case "5":flag = false;break;}}}
}

相关文章:

  • docker 挂载运行镜像
  • 旅游卡在哪里拿货?千益畅行旅游卡源头
  • docker image prune -f 命令什么用途
  • 数字化工厂怎么收集,处理数据?
  • Qt Creator(2)【如何在Qt Creator中创建新工程】
  • 【代码随想录算法训练Day13】LeetCode 239. 滑动窗口最大值、LeetCode 347.前K个高频元素
  • TypeScript-泛型
  • 提升(或降低)插入的内容的位置:\raisebox
  • 第十四届蓝桥杯c++研究生组
  • python 第四章 函数 (pycharm) (2)
  • 二分答案思想下的二进制问题
  • Python爬虫技术深度解析与实战案例
  • 基于51单片机简易温度计
  • 商品发布功能
  • 在VS Code中进行Java的单元测试
  • 自己简单写的 事件订阅机制
  • [LeetCode] Wiggle Sort
  • 【mysql】环境安装、服务启动、密码设置
  • hadoop集群管理系统搭建规划说明
  • iOS | NSProxy
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • Javascript Math对象和Date对象常用方法详解
  • MD5加密原理解析及OC版原理实现
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • nodejs实现webservice问题总结
  • SpringCloud集成分布式事务LCN (一)
  • Zsh 开发指南(第十四篇 文件读写)
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 算法之不定期更新(一)(2018-04-12)
  •  一套莫尔斯电报听写、翻译系统
  • 再次简单明了总结flex布局,一看就懂...
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 进程与线程(三)——进程/线程间通信
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • ​马来语翻译中文去哪比较好?
  • ‌JavaScript 数据类型转换
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #### golang中【堆】的使用及底层 ####
  • #pragma 指令
  • #微信小程序:微信小程序常见的配置传旨
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (C语言)fgets与fputs函数详解
  • (c语言)strcpy函数用法
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (备忘)Java Map 遍历
  • (回溯) LeetCode 131. 分割回文串
  • (教学思路 C#之类三)方法参数类型(ref、out、parmas)
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (算法)Game