java实现的简单的登录、验证与注册

先看一下需求,我画了一个图啊哈哈哈哈(别嫌丑……)
java实现的简单的登录、验证与注册_第1张图片
本来我刚看到这个需求时,感觉贼简单,but,我竟然写了20分钟,还出了几个bug……
java实现的简单的登录、验证与注册_第2张图片
就这?还想难倒我???
java实现的简单的登录、验证与注册_第3张图片
于是,我特意整理了一波……

来来来,看一下运行效果图
java实现的简单的登录、验证与注册_第4张图片
代码如下所示,并附带相关优化,我感觉我的注释特别清晰(嘿嘿嘿)

package cn.uu710.demo;

import java.util.Scanner;

public class Demo {
	//创建一个容器,用来存储用户的个人信息
	private User[] users = new User[100];
	//创建一个计数器
	private int count=0;
	Scanner input = new Scanner(System.in);
	
	public static void main(String[] args) {
		
		Demo demo = new Demo();
		demo.index();
				
	}
	
	//开始页面
	public void index() {
		System.out.println("----1、登录----2、注册----");
		System.out.println("请选择您的操作……");
//		Scanner scanner = new Scanner(System.in);
		/*
		 * if (scanner.nextInt()==1) { 
		 * 		this.login();
		 * 
		 * } else { 
		 * 		this.register();
		 *  }
		 */
		switch (input.nextInt()) {
		case 1:
			this.login();
			break;
		case 2:
			this.register();
			break;
		default:			
			System.out.println("输入有误,请重新输入");
			this.index();
			break;
		}
	
	}
	
	//登录
	public void login() {
		System.out.println("正在登录……");
	//	Scanner input = new Scanner(System.in);
		
		System.out.print("用户名:");
		String userName = input.next();
		System.out.print("密    码:");
		String password = input.next();


		System.out.println("正在核对您的用户名和密码:"+userName+"  "+password);
		//验证用户名和密码是否有误
		
		//遍历数组
		for (User user : users) {
			//排除空数据
		
			if (user != null) {
				//此时存在数据,验证用户名和密码是否匹配			
				if (userName.equals(user.getUserName()) && password.equals(user.getPassword())) {
						System.out.println("验证通过");
						System.out.println();
						this.welcome();
						return;
				}
			}
			//数组为空,不执行上面的代码,继续往下执行
		}
	
//		for (int i = 0; i < users.length; i++) {
//			User user = users[i];
//			if (user != null) {
//				//此时存在数据,验证用户名和密码是否匹配			
//				if (userName.equals(user.getUserName()) && password.equals(user.getPassword())) {
//						System.out.println("验证通过");
//						this.welcome();
//						return;//结束本方法
//				}
//			}
//			//数组为空,不执行上面的代码,继续往下执行
//		}
	
		//如果未能成功匹配,则证明用户名或密码有误,重新登录
		System.out.println("您输入的用户名或密码有误,请重新登录:");
		this.login();
		
	}
	
	//注册
	public void register() {
		System.out.println("正在注册……");
		User user = new User();
		
	//	Scanner scanner = new Scanner(System.in);
		
		System.out.print("请输入用户名:");
		user.setUserName(input.next());
		System.out.print("请输入密    码:");
		user.setPassword(input.next());
		
		System.out.println();
		System.out.println("用户名:"+user.getUserName()+",密码:"+user.getPassword());		
		//每注册一个用户,存入数组,且计数器加一
		users[count]=user;
		count++;
		System.out.println("注册成功!您是第"+count+"位注册用户");
		
		//注册成功后跳转到index页面
		this.index();
	}
	
	//登录成功
	public void welcome() {
		System.out.println("欢迎来到佑哥哥管理系统");
	}
	

}

创建一个User类,并封装两个私有成员userName和password,提供公开的getter/setter

package cn.uu710.demo;

public class User {

	private String userName;
	private String password;
	
	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;
	}
	
	
}

其实这个案例并不难,考察的就是一些基础知识,比如:
循环语句的用法;
java中this.方法名()的用法;
equals()和“==”的区别;
Scanner的用法;
成员属性的作用域;
break和return的用法;

你可能感兴趣的:(佑哥哥的java学习笔记)