Day_09【常用API】扩展案例1_程序中使用一个长度为3的对象数组,存储用户的登录名和密码……

需求说明:实现用户注册、登陆功能;

  •   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.注册" + "\t" + "2.登录" + "\t" + "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() + "\t" + "密码:" + userArray[x].getPassword()
						+ "\t" + "生日:" + userArray[x].getBirthday() + "\t" + "爱好" + userArray[x].getHobby());
				return;									//同上
			}
		}
		System.out.println("用户名或密码错误!");
	}

}

控制台输出内容
控制台输出内容

posted @ 2019-12-14 19:47  _codeRookie  阅读(314)  评论(0编辑  收藏  举报