返回本章节

返回作业目录


需求说明:

  • 将新增的用户信息添加到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);
} }

编写Java程序,利用List维护用户信息的更多相关文章

  1. 初学编写JAVA程序

    一.编写JAVA程序 编写JAVA程序,输出一行文本信息:“Hello world”,选择编辑器eclipse,打开之后编写程序 public class Hello{ public static v ...

  2. Java初学者作业——编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表

    返回本章节 返回作业目录 需求说明: 编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表 课程名称 课程简介 JAVA课程 JAVA语言是目前最流行的编写语言,在本课程中将 ...

  3. 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book)、一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户,使用简单工厂模式模拟这一过程。

    查看本章节 查看作业目录 需求说明: 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book).一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户, ...

  4. 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

      35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...

  5. (转)Java程序利用main函数中args参数实现参数的传递

    Java程序利用main函数中args参数实现参数的传递 1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,J ...

  6. Java初学者作业——使用记事本编写Java程序

    返回本章节 返回作业目录 需求说明: 使用记事本编写 Java 程序,输出"大家好!我的梦想是做一名 Java 高级工程师!". 为 Java 程序添加单行和多行注释以及文档注释. ...

  7. Java初学者作业——编写Java程序,实现用户登录验证。

    返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...

  8. Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。

    返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...

  9. Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。

    返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...

  10. Java初学者作业——编写Java程序,实现判断所输入字符的类型(数字、小写字母、大写字母或其他字符)

    返回本章节 返回作业目录 需求说明: 编写Java程序,实现判断所输入字符的类型(数字.小写字母.大写字母或其他字符) 实现思路: 声明变量c,用于存储用户输入的字符. 通过Scanner接收用户输入 ...

随机推荐

  1. new Date()与setDate()参数

    New Date()与setDate()参数 相信网上已经有很多关于日期的文章了,这里只是我自己再工作中遇到的问题然后加以总结: new Date() new Date() 一共有六种形式,五种带参数 ...

  2. 使用cookie记录用户上次访问网页的时间,并返回到页面

    package com.hopetesting.cookie;import javax.servlet.ServletException;import javax.servlet.annotation ...

  3. 【JavaWeb】【JSP】【Bean】JavaBean基础使用方法与操作步骤

    JavaBean基础使用方法与操作步骤 JavaWeb jsp Bean 项目结构 JavaBean的概念 JavaBean是可复用的.平台独立的软件组件 JavaBean既可以是简单的GUI要素,如 ...

  4. 3、Linux的Redis安装

    Linux下安装redis 1.Redis下载 [Redis官网下载地址](https://redis.io/download)    进入官网进行下载 wget https://download.r ...

  5. Jenkins凭证管理

    目录 一.简介 二.管理凭证 三.常用凭证 保密文本 账号密码 保密文件 账号秘钥 四.优雅使用凭证 保密文本 账号密码 保密文件 五.凭证插件 集成HashiCorp Vault pipeline ...

  6. GDB调试增强篇

    GDB中应该知道的几个调试方法 七.八年前写过一篇<用GDB调试程序>, 于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题.这 ...

  7. Mybatis中原生DAO实现和Mapper动态代理实现

    Mybatis开发dao的方法通常用两种,一种是传统DAO的方法,另一种是基于mapper代理的方法. 一.传统DAO方式开发 1.sql语句映射文件编写 User.xml <?xml vers ...

  8. LuoguB2029 大象喝水 题解

    Update \(\texttt{2021.12.4}\) 修改了原先的错误代码,给各位造成影响,在此表示很抱歉. Content 大象要喝 \(20\) 升水,但现在只有一个深 \(h\) 厘米,半 ...

  9. Django的Form表单验证

    Form(from django import forms) 简短理解:后端提供了一个类:from django import forms,继承此类定义子类.子类中定义和form表单中提交到name名 ...

  10. windows下php安装redis扩展

    查看当前PHP版本 代码中添加 phpinfo(); 下载对应的redis扩展 下载链接:https://pecl.php.net/package/redis 因为我的PHP版本是5.6的,所以red ...