集合类的操作。模拟用户登录,实现对多个用户信息的操作。 【需求】:对用户类的操作,添加用户(注册功能)、查找用户(登录功能)、修改用户(重置密码)等 【思路】: 1. 定义用户类的JavaBean:User(用户名、密码、生日) 2. 定义接口: 用户操作接口(IUserDao) 包含添加用户(注册功能)、查找用户(登录功能)、用户(重置密码)三 种抽象方法 3. 定义实现接口类:UserDaoImpl, 重写三个抽象方法,其中的登录功能可以“模拟用户登录”实验来完成。 4. 在test包中,定义一个测试类(TestUser), (1)添加main方法,定义ArrayList集合对象,实现添加3个学生的信息并存储在集合对象里。 (2)ArrayList集合元素采用增强型for实现遍历。 List集合元素采用迭代器遍历。用基础的java写代码
时间: 2024-03-13 17:43:27 浏览: 21
以下是代码实现:
User.java
```
public class User {
private String username;
private String password;
private String birthday;
public User(String username, String password, String birthday) {
this.username = username;
this.password = password;
this.birthday = birthday;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getBirthday() {
return birthday;
}
public void setBirthday(String birthday) {
this.birthday = birthday;
}
}
```
IUserDao.java
```
public interface IUserDao {
void addUser(User user);
boolean login(String username, String password);
void resetPassword(String username, String newPassword);
}
```
UserDaoImpl.java
```
import java.util.ArrayList;
import java.util.List;
public class UserDaoImpl implements IUserDao {
private List<User> userList;
public UserDaoImpl() {
userList = new ArrayList<>();
}
@Override
public void addUser(User user) {
userList.add(user);
System.out.println("用户添加成功!");
}
@Override
public boolean login(String username, String password) {
for (User user : userList) {
if (user.getUsername().equals(username) && user.getPassword().equals(password)) {
System.out.println("登录成功!");
return true;
}
}
System.out.println("登录失败,用户名或密码错误!");
return false;
}
@Override
public void resetPassword(String username, String newPassword) {
for (User user : userList) {
if (user.getUsername().equals(username)) {
user.setPassword(newPassword);
System.out.println("密码修改成功!");
return;
}
}
System.out.println("修改密码失败,用户不存在!");
}
}
```
TestUser.java
```
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class TestUser {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
IUserDao userDao = new UserDaoImpl();
List<User> userList = new ArrayList<>();
// 添加用户
System.out.println("请输入要添加的用户信息:");
for (int i = 0; i < 3; i++) {
System.out.println("请输入第 " + (i + 1) + " 个用户的用户名:");
String username = scanner.next();
System.out.println("请输入第 " + (i + 1) + " 个用户的密码:");
String password = scanner.next();
System.out.println("请输入第 " + (i + 1) + " 个用户的生日:");
String birthday = scanner.next();
User user = new User(username, password, birthday);
userDao.addUser(user);
userList.add(user);
}
// 遍历用户信息
System.out.println("增强型for循环遍历用户信息:");
for (User user : userList) {
System.out.println("用户名:" + user.getUsername() + ",密码:" + user.getPassword() + ",生日:" + user.getBirthday());
}
// 修改密码
System.out.println("请输入要修改密码的用户名:");
String username = scanner.next();
System.out.println("请输入新密码:");
String newPassword = scanner.next();
userDao.resetPassword(username, newPassword);
// 迭代器遍历用户信息
System.out.println("迭代器遍历用户信息:");
Iterator<User> iterator = userList.iterator();
while (iterator.hasNext()) {
User user = iterator.next();
System.out.println("用户名:" + user.getUsername() + ",密码:" + user.getPassword() + ",生日:" + user.getBirthday());
}
// 登录
System.out.println("请输入用户名:");
String loginUsername = scanner.next();
System.out.println("请输入密码:");
String loginPassword = scanner.next();
userDao.login(loginUsername, loginPassword);
}
}
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)