集合模拟用户登录注册功能,登录后进行猜数字游戏

1.写一个HashSet,里面存储自定义类Student,Student包括String name和int age,保证元素唯一
2.使用ArrayList集合存储自定义类型Teacher,Teacher包含name,age属性,并且保证遍历集合的时候元素唯一!
3.自定义数组,将该数组使用选择排序进行排序.
4.键盘录入字符串数据,然后将该字符串反转
5.使用集合(ArrayList)思想模拟登录注册_登录成功后,提示“可以开始玩猜数字游戏了”
			提示:在猜数字游戏程序中,产生随机数是1-100之间的随机数,如果猜对了,提示"第几次猜对了";
		整个玩完游戏,可以跳出这个死循环,程序结束!

使用集合模拟用户登录,注册功能 (没有明确告诉集合类型,默认使用ArrayList集合)

分析:
 * 		登录,注册功能
 * 	1)分包:
 * 		com.xx.entity:  实体类
 * 			User:用户
 * 				属性私有化:username ,password
 * 				提供对应setXXX()/getXXX()....
 * 
 * 	    com.xx.dao: 数据访问接口层
 * 				UserDao
 * 				注册方法
 * 				 void regist(User user); 
 * 				
 * 									//用户输入用户和密码之后,选择注册功能,直接注册成功
 * 				 boolean isLogin(String username,String password) ; //登录功能
 * 
 * 		com.xx.dao.impl:数据访问接口实现层
 * 				UserDaoImpl
 * 			private static ArrayList<User> array = new ArrayList<User>();
 * 
 * 					需要用对注册/登录重写 (业务的功能)
 * 
 * 
 * 			注册功能
 * 					将用户录入的姓名和用户名,封装到User对象中,然后将User对象存储到ArrayList集合中
 * 					ArrayList<User>
 * 
 * 				public void regist(User user){
 * 					//创建User对象
 * 					//需要的ArrayList集合对象ArrayList<User>
 * 				}
 * 
 * 			//登录功能
 * 			public boolean isLogin(String username,String password){
 * 					//业务:
 * 					使用增强for遍历ArrayList集合
 * 					//获取到当前集合中存在用户名和密码,和键盘录入username和password对比
 * 					如果一致
 * 						返回值true
 * 					否则:
 * 						false
 * 			}
 * 			
 * 
 * 
 * 
 * 	  com.xx.user.test
 * 				UserTest
 * 			while(true){
 * 					针对用户不同的选择,执行不同的业务逻辑
 * 					--------------欢迎访问xxx系统----------------
 * 					"1,注册"
 * 					"2,登录"
 * 					"3,退出"
 * 					
 * 				使用接口多态;UserDao ud = new UserDaoImpl() ;
 * 					
 * 				//创建键盘录入对象
 * 				//录入数据:String
 * 				switch(变量名){
 * 				case "1":
 * 						//注册功能
 * 						//录入用户名和密码:
 * 						ud调用regist(传入封装后的User对象);
 * 						//提示"用户注册成功"
 * 						Syste.exit(0) ;//结束jvm
 * 						//break ;
 * 				case "2" :
 * 						//登录功能
 * 						//录入用户名和密码:
 * 						boolean flag = ud调用isLogin(传入用户名和密码);
 * 						//登录成功,开始玩数字游戏!
 * 						
 * 						break ;
 * 
 * 				case "3":
 * 				default:
 * 						//退出
 * 						Syste.exit(0) ;
 * 				}
 * 
 * 
 * 	}``

public interface UserDao {

	void regist(User user);
	 boolean isLogin(String username,String password) ;
}

``

public class User {

	private String username;
	private String password;
	/**
	 * 
	 */
	public User() {
		// TODO Auto-generated constructor stub
	}
	/**
	 * @param username
	 * @param password
	 */
	public User(String username, String password) {
		super();
		this.username = username;
		this.password = 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;
	}
	@Override
	public String toString() {
		return "User [username=" + username + ", password=" + password + "]";
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((password == null) ? 0 : password.hashCode());
		result = prime * result + ((username == null) ? 0 : username.hashCode());
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		User other = (User) obj;
		if (password == null) {
			if (other.password != null)
				return false;
		} else if (!password.equals(other.password))
			return false;
		if (username == null) {
			if (other.username != null)
				return false;
		} else if (!username.equals(other.username))
			return false;
		return true;
	}
	
}
import java.util.ArrayList;

import day20.com.ks.register.dao.UserDao;
import day20.com.ks.register.entity.User;

public class UserDaoImpl implements UserDao {

	private static ArrayList<User> array = new ArrayList<User>();
	
	@Override
	public boolean isLogin(String username, String password) {
		boolean flag = false;
		for(User u : array) {
			if(u.getUsername().equals(username)&&u.getPassword().equals(password)) {
				flag = true;
				break;
			}
		}
		return flag;
	}

	@Override
	public void regist(User user) {
		array.add(user);
	}

}

import java.util.Scanner;

public class GuessNumber {
	public static void start() {
	
		int number = (int)(Math.random()*100 + 1);
	
		while(true) {
			System.out.println("请输入一个1-100的数字:");
			@SuppressWarnings("resource")
			Scanner sc = new Scanner(System.in);
        	int guessNumber = sc.nextInt();
        
        	if ( guessNumber>number ) {
        		System.out.println("大了!!");
        	} else if ( guessNumber<number ) {
        		System.out.println("小了!!!");
        	} else {
	            System.out.println("你可终于猜对了!!!");
	            break;
	        }
		}
	}
}
import java.util.Scanner;

import day20.com.ks.register.dao.UserDao;
import day20.com.ks.register.dao.impl.UserDaoImpl;
import day20.com.ks.register.entity.User;
import day20.com.ks.register.guessnumber.GuessNumber;

public class Test {

	public static void main(String[] args) {
		while(true) {
			System.out.println("-------------------欢迎来到简单快乐猜字谜小游戏------------------");
			System.out.println("1,登录");
            System.out.println("2,注册");
            System.out.println("3,退出");
            System.out.println("快说,要选哪个?:");
            
            @SuppressWarnings("resource")
			Scanner sc = new Scanner(System.in);
            String s = sc.nextLine();
            
            UserDao ud = new UserDaoImpl();
            switch(s) {
            case "1":
            	 
                System.out.println("--------------登录界面--------------");
                System.out.println("请输入用户名:");
                String username = sc.nextLine();
                System.out.println("请输入密码:");
                String password = sc.nextLine();

                boolean flag = ud.isLogin(username, password);
                if ( flag ) {
                    System.out.println("恭喜你!登陆成功!请开始愉快的游戏旅程!");
                    
                    System.out.println("y:玩,n:不玩");
                    while (true) {
                        String resultString = sc.nextLine();
                        if (resultString.equalsIgnoreCase("y")) {
                            GuessNumber.start();  
                            System.out.println("还玩不?y:玩,n:不玩");
                        } else {
                            break;
                        }
                    }
                    System.out.println("拜拜了您嘞");
                    System.exit(0);  
                } else {
                    System.out.println("名字密码都记不住,饭白吃了吗?!");
                }
                break;

            case "2":
                // 注册界面。请输入用户名和密码
                System.out.println("--------------注册界面--------------");
                System.out.println("请输入用户名:");
                String newUsername = sc.nextLine();
                System.out.println("请输入密码:");
                String newPassword = sc.nextLine();

                User user = new User();
                user.setUsername(newUsername);
                user.setPassword(newPassword);

                ud.regist(user);
                System.out.println("注册成功");
                break;

            case "3":
            default:
                System.out.println("拜拜了您嘞");
                System.exit(0);  
                break;
            }
		}
	}
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值