需求说明:实现用户注册、登陆功能;
-
1.程序中使用一个长度为3的**对象数组**,存储用户的登录名和密码: 例如如下格式: 登录名 密码 生日 爱好 zhangsan 1111 1998-03-15 旅游,唱歌 lisi 2222 2002-05-20 吃饭,睡觉,打豆豆 wangwu 3333 2001-07-28 看书,看电影,旅游 注册时,要判断数组是否已满,是:则禁止注册。 2.**循环**为用户列出菜单: ①注册 ②登陆 ③退出 3.用户选择①,调用:registe()方法,执行注册流程; 用户选择②,调用:login()方法,执行登录流程; 用户选择③,结束程序; 4.编写方法:**registe()**,执行注册流程: 要求用户输入以下信息(信息无需校验): 用户名: 登录密码: 出生日期: 爱好:(多个爱好中间用逗号(中英文都可以)隔开) 5.编写方法:**login()**,执行登陆流程: 请用户输入登录名、登陆密码; 使用登录名和密码进行验证; 通过:打印:这个用户的所有信息; 未通过:打印:用户名或密码错误!
package com.itheima;
//用户信息类
public class User {
private String username;
private String password;
private String birthday;
private String hobby;
public User() {}
public User(String username,String password,String birthday,String hobby) {
this.username = username;
this.password = password;
this.birthday = birthday;
this.hobby = hobby;
}
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;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
package com.itheima;
import java.util.Scanner;
public class Test1 {
// 定义一个存储用户登录名和密码,长度为3的对象数组
private static User[] userArray = new User[3]; // 没讲过
private static int index = 0; // 没讲过
public static void main(String[] args) {
// 创建键盘录入对象
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("1.注册" + " " + "2.登录" + " " + "3.退出");
int select = sc.nextInt();
switch (select) {
case 1:
registe();
break;
case 2:
login();
break;
case 3:
System.out.println("感谢使用,再见");
System.exit(0);
default:
break;
}
}
}
// 注册方法
public static void registe() {
// 先验证用户是否已满
if (index >= userArray.length) {
System.out.println("用户已满,禁止注册");
return; // 不太明白为什么不能用else
}
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的用户名:");
String userName = sc.nextLine();
System.out.println("请输入您的登录密码:");
String password = sc.nextLine();
System.out.println("请输入您的生日:");
String birthday = sc.nextLine();
System.out.println("请输入您的爱好(多个爱好中间用逗号隔开):");
String hobby = sc.nextLine();
// 将数据输入到数组
User user = new User(userName, password, birthday, hobby);
userArray[index] = user; // 不太明白
// 将索引增加1,以便下一次储存
index++; // 不太明白
System.out.println("注册成功");
}
// 登录方法
public static void login() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入您的用户名:");
String userName = sc.nextLine();
System.out.println("请输入您的密码");
String password = sc.nextLine();
// 使用登录名和密码进行验证
for (int x = 0; x < userArray.length; x++) {
if (userName.equals(userArray[x].getUsername()) && password.equals(userArray[x].getPassword())) {
System.out.println("登录成功,以下是您的个人信息");
System.out.println("用户名:" + userArray[x].getUsername() + " " + "密码:" + userArray[x].getPassword()
+ " " + "生日:" + userArray[x].getBirthday() + " " + "爱好" + userArray[x].getHobby());
return; //同上
}
}
System.out.println("用户名或密码错误!");
}
}
控制台输出内容