给出修改的代码
时间: 2023-10-28 18:04:29 浏览: 24
好的,可以考虑在另外一个类中定义一个方法来访问users列表中的用户信息,代码如下:
```
package 购物系统;
import java.util.ArrayList;
import java.util.Scanner;
public class User {
private String phoneNumber;
private String password;
private String email;
ArrayList<User> users = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
public User() {
users.add(new User("12345678910", "123456","1234567890@qq.com"));
users.add(new User("10987654321", "234567","0987654321@163.com"));
users.add(new User("10086100106", "345678","1241433241@126.com"));
users.add(new User("44444444444", "456789","1732215351@yeah.net"));
users.add(new User("55555555555", "567890","8716237861@qq.com"));
}
public User(String phoneNumber, String password,String email) {
this.phoneNumber = phoneNumber;
this.password = password;
this.email=email;
}
public String getPhoneNumber() {
return phoneNumber;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
void register() {
System.out.println("您是否想添加新用户?(y/n)");
String choice = scanner.nextLine();
if (choice.equals("y")) {
System.out.println("请输入新用户的手机号码:");
String newPhoneNumber = scanner.nextLine();
System.out.println("请输入新用户的密码:");
String newPassword = scanner.nextLine();
System.out.println("请输入新用户的邮箱:");
String newEmail = scanner.nextLine();
User newUser = new User(newPhoneNumber, newPassword,newEmail);
users.add(newUser);
System.out.println("新用户添加成功。");
}
}
void land(){
boolean isLoginSuccessful = false;
User currentUser = null;
while (!isLoginSuccessful) {
System.out.println("请输入手机号码:");
String phoneNumber = scanner.nextLine();
System.out.println("请输入密码:");
String password = scanner.nextLine();
for (User user : users) {
if (user.getPhoneNumber().equals(phoneNumber) && user.getPassword().equals(password)) {
isLoginSuccessful = true;
currentUser = user;
break;
}
}
if (isLoginSuccessful) {
System.out.println("登录成功。当前用户:" + currentUser.getPhoneNumber());
}else {
System.out.println("手机号码或密码无效,请重试。");
}
}
}
void forgotPassword() {
while (true) {
System.out.println("请输入手机号码:");
String phoneNumber = scanner.nextLine();
User userFound = null;
for (User user : users) {
if (user.getPhoneNumber().equals(phoneNumber)) {
userFound = user;
break;
}
}
if (userFound == null) {
System.out.println("手机号码错误,请重新输入!");
continue;
}
while (true) {
System.out.println("请输入用户的邮箱:");
String email = scanner.nextLine();
if (!userFound.getEmail().equals(email)) {
System.out.println("邮箱错误,请重新输入!");
continue;
}
System.out.println("验证成功,请输入新密码:");
String password = scanner.nextLine();
userFound.setPassword(password);
System.out.println("修改成功!");
return;
}
}
}
public void print() {
System.out.println("当前登录账户: " + this.getPhoneNumber() + "\n邮箱: " + this.getEmail());
}
public void printAllUsers() {
System.out.println("所有用户信息如下:");
for (User user : users) {
System.out.println("手机号码:" + user.getPhoneNumber() + "\n邮箱:" + user.getEmail() + "\n");
}
}
}
```
在上面的代码中,我们新增了一个名为printAllUsers的方法,它遍历了users列表中的所有用户,并显示了他们的手机号码和邮箱信息。您可以在需要显示所有用户信息的时候调用该方法。