编写Java程序,利用List维护用户信息
返回本章节
返回作业目录
需求说明:
- 将新增的用户信息添加到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);
}
}
编写Java程序,利用List维护用户信息的更多相关文章
- 初学编写JAVA程序
一.编写JAVA程序 编写JAVA程序,输出一行文本信息:“Hello world”,选择编辑器eclipse,打开之后编写程序 public class Hello{ public static v ...
- Java初学者作业——编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表
返回本章节 返回作业目录 需求说明: 编写JAVA程序,根据用户输入课程名称,输出对应课程的简介,各门课程的简介见表 课程名称 课程简介 JAVA课程 JAVA语言是目前最流行的编写语言,在本课程中将 ...
- 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book)、一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户,使用简单工厂模式模拟这一过程。
查看本章节 查看作业目录 需求说明: 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book).一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户, ...
- 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 ...
- (转)Java程序利用main函数中args参数实现参数的传递
Java程序利用main函数中args参数实现参数的传递 1.运行Java程序的同时,可以通过输入参数给main函数中的接收参数数组args[],供程序内部使用!即当你在Java命令行后面带上参数,J ...
- Java初学者作业——使用记事本编写Java程序
返回本章节 返回作业目录 需求说明: 使用记事本编写 Java 程序,输出"大家好!我的梦想是做一名 Java 高级工程师!". 为 Java 程序添加单行和多行注释以及文档注释. ...
- Java初学者作业——编写Java程序,实现用户登录验证。
返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...
- Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。
返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...
- Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。
返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...
- Java初学者作业——编写Java程序,实现判断所输入字符的类型(数字、小写字母、大写字母或其他字符)
返回本章节 返回作业目录 需求说明: 编写Java程序,实现判断所输入字符的类型(数字.小写字母.大写字母或其他字符) 实现思路: 声明变量c,用于存储用户输入的字符. 通过Scanner接收用户输入 ...
随机推荐
- KMP算法中的next函数
原文链接:http://blog.csdn.net/joylnwang/article/details/6778316/ 其实后面大段的代码都可以不看 KMP的关键是next的产生 这里使用了中间变量 ...
- 给webapp加上一个apk外壳
原文:http://blog.csdn.net/cmyh100/article/details/77862962 1.在Android Studio里创建一个项目 2.创建MyApplication. ...
- Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null objec
遇到这个一场折腾了1个小时, 这是系统在解析XML的时候出错, 最后费了好大的劲才发现 XML文件中,<View> 写成小写的 <view> 了. 崩溃啊.......... ...
- CentOS6+nginx+uwsgi+mysql+django1.6.6+python2.6.6
1.配置网关 #vi /etc/sysconfig/network NETWORKING=yes(表示系统是否使用网络,一般设置为yes.如果设为no,则不能使用网络,而且很多系统服务程序将无法启动) ...
- vue2.x入门学习
vue安装 # 最新稳定版本 $ npm install vue # 最新稳定 CSP 兼容版本 $ npm install vue@csp 引包 cd /d/vue/demo cnpm instal ...
- 开源低代码开发平台entfrm2.1.0更新
开源低代码开发平台entfrm2.1.0更新 新功能 代码生成支持主子表,支持预览: 新增多应用顶部菜单与左侧菜单联动: element-ui升级到2.15.1: 新增表单管理,集成avue-from ...
- 【Java 与数据库】JDBC中日期时间的处理技巧
JDBC中日期时间的处理技巧 详谈Java.util.Date和Java.sql.Date 基础知识 Java中用类java.util.Date对日期/时间做了封装,此类提供了对年.月.日.时.分.秒 ...
- freeswitch APR库线程读写锁
概述 freeswitch的核心源代码是基于apr库开发的,在不同的系统上有很好的移植性. 线程读写锁在多线程服务中有重要的作用.对于读数据比写数据频繁的服务,用读写锁代替互斥锁可以提高效率. 由于A ...
- setsockopt()用法及参数详解
setsockopt()用法(参数详细说明) int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen); ...
- JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器,解决 ios 无法判断是否为qq浏览器环境的问题 !!!
原理 通过不同移动端的ua弹窗 获取user-agent 参数包含的信息,进行判断浏览器类型 在Android上 QQ内置环境的ua中有关键字 MQQBrowser, 并且后面包含一个[空白符+QQ] ...