返回本章节

返回作业目录


需求说明:

  • 将新增的用户信息添加到List集合。
  • 用户信息包括用户编号、姓名和性别。
  • 按照姓名和性别查找用户信息。

实现思路:

  1. 创建类UserInfo,在该类中定义3个String类型的变量编号(no)、姓名(name)、性别(sex),并创建这3个属性对应的getter()和setter()方法。
  2. 创建类UserInfoSys,在该类中定义List类型的实例属性list,将ArrayList实例赋值于该属性。
  3. 在UserInfoSys类中定义addUserInfo()方法,用于处理添加用户信息操作;定义deleteUserInfo()方法,该方法用于处理删除用户信息操作;定义selectUserInfo()方法,该方法用于处理查询用户信息操作。

实现代码:

UserInfo类:

package com.T7.List;

public class UserInfo {
private String no;//编号
private String name;//姓名
private String sex;//性别 public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
//无参构造
public UserInfo() {
super();
}
//有参构造
public UserInfo(String no, String name, String sex) {
super();
this.no = no;
this.name = name;
this.sex = sex;
}
//重载toString
@Override
public String toString() {
return "UserInfo [no=" + no + ", name=" + name + ", sex=" + sex + "]";
} }

UserInfoSys类:

package com.T7.List;

import java.util.ArrayList;
import java.util.Scanner; import javax.swing.text.html.HTMLDocument.Iterator; public class UserInfoSYS {
Scanner sc = new Scanner(System.in);
ArrayList list = new ArrayList();
//添加用户信息
public void addUserInfo() {
System.out.println("请输入用户账号:");
String no = sc.next();
System.out.println("请输入用户姓名");
String name = sc.next();
System.out.println("请输入性别:");
String sex = sc.next();
UserInfo userInfo = new UserInfo(no,name,sex);
list.add(userInfo);
System.out.println("添加用户成功");//示例赋值 }
//删除用户信息
public void deleteUserInfo() {
System.out.println("请输入要删除的账号:");
String no = sc.next();
for (int i = 0; i < list.size(); i++) {
UserInfo user = (UserInfo) list.get(i);
if (user.getNo().equals(no)) {
System.out.println("已删除编号为:" + user.getNo() + "的账户");
list.remove(i);
}
} }
//查询用户信息
public void selectUserInfo() {
UserInfo U = new UserInfo();
System.out.println("【1】按编号查询 【2】按姓名查询 【3】按性别查询");
switch (sc.nextInt()) { case 1:
System.out.println("请输入编号:");
String bh = sc.next();
for (int i = 0; i < list.size(); i++) {
UserInfo user = (UserInfo) list.get(i);
if (user.getNo().equals(bh)) {
System.out.println(list.get(i));
}
} break;
case 2:
System.out.println("请输入姓名:");
String xm = sc.next();
for (int i = 0; i < list.size(); i++) {
UserInfo user = (UserInfo) list.get(i);
if (user.getName().equals(xm)) {
System.out.println(list.get(i));
}
}
break;
case 3:
System.out.println("请输入性别:");
String xb = sc.next(); if (xb.equals("男")) {
for (int i = 0; i < list.size(); i++) {
UserInfo user = (UserInfo) list.get(i);
if (user.getSex().equals("男")) {
System.out.println(list.get(i));
}
}
} else if (xb.equals("女")) {
for (int i = 0; i < list.size(); i++) {
UserInfo user = (UserInfo) list.get(i);
if (user.getSex().equals("女")) {
System.out.println(list.get(i));
}
}
} break;
}
}
//遍历用户信息
public void showAll() {
for (int i = 0; i < list.size(); i++) {
UserInfo ui = (UserInfo)list.get(i);
System.out.println("当前系统所有用户信息:"+ui.getNo()+ui.getName()+ui.getSex());
}
}
}

Test类:

package com.T7.List;

import java.util.Scanner;

public class Test {

	public static void main(String[] args) {
UserInfoSYS us = new UserInfoSYS();
Scanner sc = new Scanner(System.in);
int index;
do {
System.out.println("请执行操作:1、添加 2、删除 3查询");
index = sc.nextInt();
switch (index) {
case 1:
us.addUserInfo();
us.showAll();
break;
case 2:
us.deleteUserInfo();
break;
case 3:
us.selectUserInfo();
break;
default:
System.out.println("输入的操作不存在,请重新输入");
break;
}
} while (index != 4);
} }

最新文章

  1. u-boot源码汇编段简要分析
  2. SystemVerilog的历史
  3. mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间
  4. NET软件开发中的事务大全
  5. 数学(矩阵乘法):HDU 4565 So Easy!
  6. Linux2.6内核--内存管理(1)--分页机制
  7. JavaScript中的this引用
  8. Volley该框架使用了大量的请求图片
  9. javascript中name,value等属于保留字
  10. python pandas import 失败
  11. 5月第2周业务风控关注 | 央行:严禁未经授权认可的APP接入征信系统
  12. nginx负载均衡、nginx ssl原理及生成密钥对、nginx配制ssl
  13. nbtscan工具
  14. Swift: 是用Custom Segue还是用Transition动画
  15. 【GIS】ArcGIS Server密码
  16. Linux 虚拟串口及 Qt 串口通信实例
  17. Codeforces 1106 E. Lunar New Year and Red Envelopes 优先队列+dp
  18. 最优方向法(MOD)
  19. PHP中的_FILE_和_DIR_的区别
  20. 【bzoj4888】: [Tjoi2017]异或和 BIT-乱搞

热门文章

  1. webservice--常用注解
  2. winxp 关闭445端口
  3. 【Linux】【Services】【DNS】使用Bind搭建DNS服务
  4. Mysql中replace与replace into的用法讲解
  5. TV盒子 android 4.4安装kodi 和 安装jellyfin插件连接到 jellyfin服务器
  6. Docker从入门到精通(二)——安装Docker
  7. Mysql配置 主从同步
  8. java多线程6:ReentrantLock
  9. hbuilder打包app基本流程
  10. 分布式可扩展web体系结构设计实例分析