编写Java程序,利用List维护用户信息
2024-09-07 01:41:56
返回本章节
返回作业目录
需求说明:
- 将新增的用户信息添加到List集合。
- 用户信息包括用户编号、姓名和性别。
- 按照姓名和性别查找用户信息。
实现思路:
- 创建类UserInfo,在该类中定义3个String类型的变量编号(no)、姓名(name)、性别(sex),并创建这3个属性对应的getter()和setter()方法。
- 创建类UserInfoSys,在该类中定义List类型的实例属性list,将ArrayList实例赋值于该属性。
- 在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);
}
}
最新文章
- u-boot源码汇编段简要分析
- SystemVerilog的历史
- mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间
- NET软件开发中的事务大全
- 数学(矩阵乘法):HDU 4565 So Easy!
- Linux2.6内核--内存管理(1)--分页机制
- JavaScript中的this引用
- Volley该框架使用了大量的请求图片
- javascript中name,value等属于保留字
- python pandas import 失败
- 5月第2周业务风控关注 | 央行:严禁未经授权认可的APP接入征信系统
- nginx负载均衡、nginx ssl原理及生成密钥对、nginx配制ssl
- nbtscan工具
- Swift: 是用Custom Segue还是用Transition动画
- 【GIS】ArcGIS Server密码
- Linux 虚拟串口及 Qt 串口通信实例
- Codeforces 1106 E. Lunar New Year and Red Envelopes 优先队列+dp
- 最优方向法(MOD)
- PHP中的_FILE_和_DIR_的区别
- 【bzoj4888】: [Tjoi2017]异或和 BIT-乱搞