编写Java程序,利用List维护用户信息

简介: 编写Java程序,利用List维护用户信息

需求说明:


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


0.png


实现思路:


创建类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);
  }
}



相关文章
|
2月前
|
IDE Java 编译器
开发 Java 程序一定要安装 JDK 吗
开发Java程序通常需要安装JDK(Java Development Kit),因为它包含了编译、运行和调试Java程序所需的各种工具和环境。不过,某些集成开发环境(IDE)可能内置了JDK,或可使用在线Java编辑器,无需单独安装。
84 1
|
2月前
|
SQL 安全 Java
Java 异常处理:筑牢程序稳定性的 “安全网”
本文深入探讨Java异常处理,涵盖异常的基础分类、处理机制及最佳实践。从`Error`与`Exception`的区分,到`try-catch-finally`和`throws`的运用,再到自定义异常的设计,全面解析如何有效管理程序中的异常情况,提升代码的健壮性和可维护性。通过实例代码,帮助开发者掌握异常处理技巧,确保程序稳定运行。
46 0
|
3月前
|
安全 Java 程序员
深入Java集合框架:解密List的Fail-Fast与Fail-Safe机制
本文介绍了 Java 中 List 的遍历和删除操作,重点讨论了快速失败(fail-fast)和安全失败(fail-safe)机制。通过普通 for 循环、迭代器和 foreach 循环的对比,详细解释了各种方法的优缺点及适用场景,特别是在多线程环境下的表现。最后推荐了适合高并发场景的 fail-safe 容器,如 CopyOnWriteArrayList 和 ConcurrentHashMap。
69 5
|
3月前
|
Java 程序员 编译器
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
56 3
|
3月前
|
Java 程序员
Java|List.subList 踩坑小记
不应该仅凭印象和猜测,就开始使用一个方法,至少花一分钟认真读完它的官方注释文档。
30 1
|
3月前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
324 2
|
3月前
|
安全 Java Linux
java程序设置开机自启
java程序设置开机自启
173 1
|
3月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
87 1
|
3月前
|
Java Python
如何通过Java程序调用python脚本
如何通过Java程序调用python脚本
48 0
|
8月前
|
算法 Java 数据处理
Java程序性能优化研究
Java程序性能优化研究
77 0