eclipse使用

目录

  • 对象类
  • 接口
  • 方法类
  • 异常类
  • 测试类

对象类

package com.liuying.pratice.users;//属性
public class User {private String username;private String password;private String naickname;private int age;//生成get,set方法public String getUsername() {return username;}public void setUsername(String username) {this.username = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getNaickname() {return naickname;}public void setNaickname(String naickname) {this.naickname = naickname;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//生成无参构造public User() {}//生成全部参数构造public User(String username, String password, String naickname, int age) {super();this.username = username;this.password = password;this.naickname = naickname;this.age = age;}//生成toString方法@Overridepublic String toString() {return "User [username=" + username + ", password=" + password + ", naickname=" + naickname + ", age=" + age+ "]";}}

接口

package com.liuying.pratice.users;
//接口
public interface IUserManger {// 添加public void addUser(User user);//添加需求1:在某一特定的位置上添加用户public void addUser(int position,User user);// 删除public void delUser(User user);// 重载:根据用户名字进行删除public void delUser(String username);// 修改public void updateUser(User user);// 查询:给一个用户名字进行查询并返回public User load(String username);public User[] list();
}

方法类

package com.liuying.pratice.users;import java.util.Arrays;//方法类
public class UserManger implements IUserManger {private User[] users;private int capacity;private int nums;//构造函数/*第一种构造,自定义容量为10*/public UserManger() {this.capacity = 10;this.users = new User[this.capacity];this.nums = 0;}/*第二种构造,容量为用户传多少为准*/public UserManger(int capacity) {this.capacity = capacity;this.users = new User[this.capacity];this.nums = 0;}//Test----size方法,private int capacity改成public/*public int size() {return this.nums;}*///实现增删改查功能@Override//添加public void addUser(User user) {// 第一步:判断是否已经存满if(this.isFUll()) {//如果满了则需要扩容this.grow();}//第二步:判断用户名称重复if(existsUser(user.getUsername())) {//如果名称重复则,抛异常,创建UserException类throw new UserException("对不起,用户名称重复了...");}//如果名称不重复,则添加用户this.users[nums++] = user;System.out.println("用户添加成功");}/*2.1重复*/private boolean existsUser(String username) {for(int i = 0; i < nums; i++) {//循环到nums(个数)因为不一定存满if(this.users[i].getUsername().equals(username)) {return true;}}return false;}/*1.2扩容:使用java.util中Arrays类中的copyOf方法,别忘记导包*/private void grow() {this.capacity = this.capacity + (this.capacity >> 1); //扩容:右移一位除以2,即总共增加1.5倍this.users = Arrays.copyOf(users, capacity); System.out.println("扩容成功...");}/*1.1判存满*/private boolean isFUll() {if(this.nums >= this.capacity) {return true;}return false;}//删除@Overridepublic void delUser(User user) {//第一步:调用删除方法1.1this.delUser(user.getUsername());}/*1.1删除用户*/@Overridepublic void delUser(String username) {//1.调用找到下标1.1.1,通过下标找到用户int index = findIndexByUsername(username);//如果要删的用户不存在,则抛异常if(index < 0 || index >= nums) {System.out.println();throw new UserException("对不起,要删除的用户不存在");}//如果要删的用户存在,则删除/*数组中怎么删除? 要删index则index+1往前挪动,覆盖要删的index,后面依次挪动*/for(int i = index+1; i < nums; i++) {this.users[i-1] = this.users[i];}this.nums--;}/*1.1.1找下标*/private int findIndexByUsername(String username) {for(int i = 0; i < nums; i++) {if(this.users[i].getUsername().equals(username)) {return i;}}return -1;}//更新@Overridepublic void updateUser(User user) {//第一步:找到下标int index = findIndexByUsername(user.getUsername());//第二步: 更改\/*1.取出要更改的数据*/User t_user = this.users[index];/*2.更改数据*/t_user.setAge(user.getAge());t_user.setPassword(user.getPassword());t_user.setNaickname(user.getNaickname());/*安全考虑,把取出来的赋回去*/this.users[index] = t_user;}//查询@Overridepublic User load(String username) {//找到下标int index = findIndexByUsername(username);//如果查不到,则抛异常if(index < 0 || index >= nums) {throw new UserException("对不起,要删的用户不存在!!");}//如果可以查到,则返回return this.users[index];}@Overridepublic User[] list() {//如果没存满空的,则拷贝一个新数组return Arrays.copyOf(users, nums);}//添加需求1:在某一特定的位置上添加用户(插入)@Overridepublic void addUser(int position, User user) {// 第一步:判断是否已经存满if(this.isFUll()) {//如果满了则需要扩容this.grow();}//第二步:判断用户名称重复if(existsUser(user.getUsername())) {//如果名称重复则,抛异常,创建UserException类throw new UserException("对不起,用户名称重复了...");}//如果名称不重复,则添加用户,在某一特定位置添加for(int i = nums; i>position; i--) {this.users[i] = this.users[i-1];}this.users[position] = user;this.nums++;}}

异常类

package com.liuying.pratice.users;
//异常是建立在继承至上public class UserException extends RuntimeException {private static final long serialVersionUID = 5762362195003730540L;/* 右击,Sour-超类 */public UserException() {super();}public UserException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {super(message, cause, enableSuppression, writableStackTrace);}public UserException(String message, Throwable cause) {super(message, cause);}public UserException(String message) {super(message);}public UserException(Throwable cause) {super(cause);}}

测试类

package com.liuying.pratice.users;//测试
public class TextUser {public static void main(String[] args) {IUserManger um = new UserManger(); //Test---size,将IUserManger改成UserMangerum.addUser(new User("swk", "123", "孙悟空", 800));um.addUser(new User("zbj", "123", "猪八戒", 800));um.addUser(new User("ss", "123", "沙僧", 800));um.addUser(new User("ts", "123", "唐僧", 800));um.addUser(new User("rl", "123", "如来", 800));um.addUser(new User("tanghuang", "123", "李世明", 800));//测试扩容um.addUser(new User("yanwang3", "123", "阎罗王", 800));um.addUser(new User("yanwang4", "123", "阎罗王", 800));um.addUser(new User("yanwang5", "123", "阎罗王", 800));um.addUser(new User("yanwang6", "123", "阎罗王", 800));um.addUser(new User("yanwang7", "123", "阎罗王", 800));User[] users = um.list();for(User u : users) {System.out.println(u);}   //System.out.println(um.capacity);}
}

小项目-用户管理系统(JAVA)相关推荐

  1. 【程序源代码】微信小程序商城管理系统(java后台+小程序)

    关键字:微信小程序 商城管理系统 正文 | 内容 01 - [概述] 基于 微信小程序 + springboot + vue 技术构建 ,支持单店铺,多店铺入驻的商城平台.项目包含 微信小程序,管理后 ...

  2. Java项目:酒店管理系统(java+SSM+Maven+LayUI+mysql)

    源码获取:博客首页 "资源" 里下载! 酒店管理系统-温情小筑后台管理系统 系统概要 项目主要功能包括: 住客管理:住客入住.住客列表: 房间管理:房间列表.添加房间.修改房间状态 ...

  3. Java项目酒店管理系统(java+SSM+Maven+LayUI+mysql)

    源码获取:博客首页 "资源" 里下载! 酒店管理系统-温情小筑后台管理系统 系统概要 项目主要功能包括: 住客管理:住客入住.住客列表: 房间管理:房间列表.添加房间.修改房间状态 ...

  4. Java项目:养老院管理系统(java+Spring Boot + SpringMVC + MyBatis+HTML+CSS+JavaScrip+ Layui+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 关注公众号,带你学Java 项目介绍 : Spring Boot + SpringMVC + MyBatis+ Mysql + druid ...

  5. java系统接口开发_模拟用户管理系统java接口开发与测试实战

    一.接口开发 1.引入依赖 1 2 org.springframework.boot 3 spring-boot-starter-parent 4 1.5.3.RELEASE 5 6 7 org.sp ...

  6. Java小项目超市管理系统(数组实现)

    ❤️项目图 输入幸运数字,幸运用户才可以登录超市管理系统 1.使用技术

  7. JAVA入门初学者练手小项目——图书管理系统

    一.登录操作(用户,管理员) 注册操作 user使用者类:客户customer,管理员admin两个子类 客户:继承自使用者 权利有 借书 还书 客户的资料信息要存放在user.txt里面, 管理员: ...

  8. java小项目图书管理系统_Java小项目迷你图书管理系统

    package迷你图书管理系统;importjava.util.Scanner;public classBookMgr {public static voidmain(String[] args) { ...

  9. Java毕设项目:房屋租赁管理系统(java+SSM+Maven+Mysql+Jsp)

    一.项目简述 功能包括: 房屋租赁管理系统是一款方便快捷,易操作的租房和各种物业收费的管理系统,该系统官网包含着用户和管理员分类登录,减少了为使用管理员系统的开支,用户分别支持手机网上或电脑网页快捷的 ...

最新文章

  1. 【AI】吴恩达斯坦福机器学习中文笔记汇总
  2. asp.net(c#) linkbutton CommandArgument
  3. linux中python编译器的配置_linux下配置python3详解
  4. Vagrant的用法
  5. oracle表没有数据判断,Oracle中判断有表DROP无表CREATE的存储过程
  6. oracle开放查询表权限_oracle 查询当前用户的表和其他用户的表
  7. java 输出视频文件格式_java – 如何从各种视频文件格式中提取元数据?
  8. 为什么不能线程调用类的成员函数_C++多线程编程之创建线程的几种方法
  9. NotFoundHttpException
  10. switch里面变量吗c语言,讨教一下关于switch语句中变量定义的相关问题
  11. OSPF综合实验(有点难哦!)
  12. 信息论——最大流最小割定理
  13. Panel重要参数解析
  14. 方正飞鸿智能信息平台产品白皮书(二)
  15. 基于Golang设计一套微服务架构[转]
  16. ballerina 学习二十七 项目k8s部署 运行
  17. 复杂正态分布运用——独立正态分布组合概率、二项分布、泊松分布近似正态分布的运用
  18. Shader入门实战,拳皇被击闪白特效!
  19. 栈+模拟(大鱼吃小鱼)
  20. 半边数据结构【Half Edge】

热门文章

  1. 对自定义数据进行谱系聚类分析
  2. 2022最新超级蜘蛛池站群优化网站源码下载
  3. Oct 20th-绿叶学习网站总结
  4. Git克隆github里的项目
  5. 互联网+消费金融的打法思考
  6. 微电影拍摄制作过程中的重点
  7. ipone12为什么没虹膜识别
  8. vue+django前后端分离之hippo后端初始化
  9. 大商创微信公众号微信支付失败报错
  10. java app微信支付接口_JAVA微信APP支付接口整合