Java基础系列六之使用集合模拟用户登录注册系统

定义接口

代码示例

package org.westos.dao;

import org.westos.entity.User;

public interface UserDao {
	public abstract boolean isLogin(String username,String password);
	public abstract void regist(User user);
}

定义接口的子实现类

package org.westos.dao.impl;

import java.util.ArrayList;

import org.westos.dao.UserDao;
import org.westos.entity.User;

public class UserDaoImpl implements UserDao {
	private static ArrayList<User> arrayList = new ArrayList<User>();

	@Override
	public boolean isLogin(String username, String password) {
		// TODO Auto-generated method stub
		boolean flag = false;
		for (User user : arrayList) {
			if (user.getName().equals(username) && user.getPassword().equals(password)) {
				flag = true;
				break;
			}
		}
		return flag;
	}

	@Override
	public void regist(User user) {
		// TODO Auto-generated method stub
		arrayList.add(user);
	}

}

定义实体类

代码示例i示例i

package org.westos.entity;

public class User {
	private String name;
	private String password;

	public User() {
		super();
		// TODO Auto-generated constructor stub
	}

	public User(String name, String password) {
		super();
		this.name = name;
		this.password = password;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

猜数字小游戏

package org.westos.game;

import java.util.Scanner;

public class GuessNumberGame {
	private static Scanner sc;

	public GuessNumberGame() {
		super();
		// TODO Auto-generated constructor stub
	}

	public static void start() {
		sc = new Scanner(System.in);
		int num = (int) (Math.random() * 100 + 1);
		int count = 0;
		while (true) {
			System.out.println("请猜一个数字:");
			int guessNumber = sc.nextInt();
			count++;
			if (guessNumber > num) {
				System.out.println("你猜的大了");
			} else if (guessNumber < num) {
				System.out.println("你猜的小了");
			} else { // guessNumber==num
				System.out.println("恭喜您在第" + count + "次猜中了");
				break;
			}
		}
	}
}

定义测试类

package org.westos.test;

import java.util.Scanner;
import org.westos.dao.impl.UserDaoImpl;
import org.westos.entity.User;
import org.westos.game.GuessNumberGame;

public class UserTest {

	private static Scanner in;

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		while (true) {
			System.out.println("-----------欢迎使用-----------");
			System.out.println("1.登录");
			System.out.println("2.注册");
			System.out.println("3.退出");
			UserDaoImpl userDaoImpl = new UserDaoImpl();
			System.out.println("请输入你的选择:");
			in = new Scanner(System.in);
			int choice = in.nextInt();
			switch (choice) {
			case 1:
				System.out.println("请输入你的用户名");
				String username = in.nextLine();
				System.out.println("请输入你的密码");
				String password = in.nextLine();
				boolean flag = userDaoImpl.isLogin(username, password);
				if (flag) {
					System.out.println("让我们来玩猜数字游戏吧!!!");
					System.out.println("你想玩吗?y/n");
					while (true) {
						String string = in.nextLine();
						if (string.equalsIgnoreCase("y")) {
							GuessNumberGame.start();
							System.out.println("还玩吗? y/n");
						} else {
							break;
						}
					}
				} else {
					System.out.println("您输入的用户名或者密码有错误");
				}
				break;
			case 2:
				System.out.println("请输入您想要使用的用户名:");
				String newUserName = in.nextLine();
				System.out.println("请设置您的密码:");
				String newPassword = in.nextLine();
				// 将用户名和密码封装到User对象中
				User user = new User();
				user.setName(newUserName);
				user.setPassword(newPassword);
				userDaoImpl.regist(user);
				System.out.println("注册成功");
				break;
			case 3:
			default:
				System.out.println("谢谢使用,欢迎下次使用");
				System.exit(0);
				;
				break;
			}
		}
	}

}



猜你喜欢

转载自blog.csdn.net/qq_40727767/article/details/80283855
今日推荐