package com.dao; import com.pojo.User; /** * 这是针对用户进行操作的接口 * @author Administrator * */ public interface UserDao { /** * 这是用户登录功能 * @param username * @param password * @return 是否登录成功 */ public abstract boolean isLogin(String username,String password); /** * 这是用户注册功能 * @param user */ public abstract void regist(User user); } package com.dao.impl; import java.util.ArrayList; import com.dao.UserDao; import com.pojo.User; /** * 这是用户操作的具体实现 * @author Administrator * */ public class UserDaoImpl implements UserDao{ //为了让多个方法使用同一个集合,就把集合定义为成员变量 //为了让多个对象共用一个array,所以使用static private static ArrayList<User> array=new ArrayList<User>(); @Override public boolean isLogin(String username, String password) { //遍历集合,获取每一个用户,并判断该用户的用户名和密码是否吻合 for(User u:array){ if(u.getUsername().equals(username) && u.getPassword().equals(password)){ return true; } } return false; } @Override public void regist(User user) { //把用户信息存储集合 array.add(user); } } package com.game; import java.util.Scanner; /** * 这是猜数字小游戏 * @author Administrator * */ public class GuessNumber { private GuessNumber(){ } public static void start(){ int number=(int)(Math.random()*100)+1; Scanner sc=new Scanner(System.in); int count=0; while(true){ count++; System.out.println("请输入数据(1~100):"); int guessNumber=sc.nextInt(); if(guessNumber>number){ System.out.println("你猜的数据"+guessNumber+"大了"); }else if(guessNumber<number){ System.out.println("你猜的数据"+guessNumber+"小了"); }else{ System.out.println("恭喜你,"+count+"次就猜中了!"); break; } } } } package com.pojo; public class User { private String username; private String password; //private int age; 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 int getAge() { return age; } public void setAge(int age) { this.age = age; }*/ public User(String username, String password) { super(); this.username = username; this.password = password; } public User() { super(); } } package com.test; import java.util.Scanner; import com.dao.UserDao; import com.dao.impl.UserDaoImpl; import com.game.GuessNumber; import com.pojo.User; /** * 用户测试类 * @author Administrator * */ public class UserTest { 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("请输入你的选择:"); //键盘录入选择,根据选择做不同操作 Scanner sc=new Scanner(System.in); //为了后面的录入信息的方面,我后面所有的信息都用String接受 String choiceString; //经过简单的思考,我选择使用Switch String regex="^[1-3]$"; sc=new Scanner(System.in); choiceString=sc.hasNext(regex)?sc.nextLine():"3"; UserDao ud=new UserDaoImpl(); switch(Integer.valueOf(choiceString)){ case 1: //登陆页面界面给出用户名和密码 System.out.println("请输入用户名:"); String newUsername=sc.nextLine(); System.out.println("请输入密码:"); String newPassword=sc.nextLine(); boolean flag=ud.isLogin(newUsername, newPassword); if(flag){ System.out.println("恭喜,登陆成功!"); System.out.println("你玩吗?y/n"); while(true){ String resultString=sc.nextLine(); if(resultString.equalsIgnoreCase("y")){ //玩游戏 GuessNumber.start(); }else{ break; } System.out.println("你还玩吗?"); } System.out.println("谢谢使用,欢迎下次再来!"); System.exit(0); }else{ System.out.println("用户名或者密码有误,登陆失败!"); } //调用登陆功能 break; case 2: //注册页面界面给出用户名和密码 System.out.println("请输入用户名:"); String newUsername1=sc.nextLine(); System.out.println("请输入密码:"); String newPassword1=sc.nextLine(); User user=new User(); user.setUsername(newUsername1); user.setPassword(newPassword1); //调用注册功能 // UserDao ud=new UserDaoImpl(); ud.regist(user); break; case 3: System.out.println("谢谢使用,欢迎下次再来!"); System.exit(0); break; } } } }
时间: 2024-10-09 21:50:44