Java程序---学生管理系统的登录和注册
2017-10-01 20:43
761 查看
/** * * 用户信息类,描述了用户的信息 * */ public class User { /** * 成员变量 * * */ private String username ; private String password; public User() { super(); } 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; } } /** * 用户操作的接口实现类 * */ public class UserDaoImpl implements UserDao { private static ArrayList<User> array = new ArrayList<User>() ; //登陆 @Override public boolean isLogin(String username, String password) { //注册完毕,才能登陆:用户都在集合中,需要遍历集合,遍历集合之前,还需要创建ArrayList // ArrayList<User> array = new ArrayList<User>() ; //定义一个标记 boolean flag = false ; //遍历集合 for(User u : array){ //需要判断:如果u.getuserName == 本身的用户名 并且密码一致,就认为登陆成功 //获取到每一个用户信息 if(u.getUsername().equals(username) && u.getPassword().equals(password)){ //修改标记 flag = true ; break ; } } return flag ; } //注册 @Override public void regist(User user) { //创建集合对象:(一般情况:没有告诉是用什么集合:默认是:ArrayList) // ArrayList<User> array = new ArrayList<User>() ; array.add(user) ; } } /** * 用户的操作接口,里面提供两个功能:登陆,注册 * */ public interface UserDao { /** * 用户登陆功能 * @param username * 用户名 * @param password * 用户密码 * @return * 返回值表示的意思用户登陆是否成功 * * */ public abstract boolean isLogin(String username,String password) ; /** * * 用户注册功能 * @param user * 需要注册的用户 * */ public abstract void regist(User user) ; } /** * 猜数字小游戏 * */ public class GuessNumberGame { //构造方法私有 private GuessNumberGame(){ } //静态方法 public static void start(){ //产生一个随机数 int number = (int) (Math.random()*100 +1) ; //定义统计变量: int count = 0 ; //为了多次循环 while(true){ //创建键盘录入对象 Scanner sc = new Scanner(System.in) ; System.out.println("请输入一个数字:"); int guessNumber =sc.nextInt() ; //统计变量++ count ++ ; //判断 if(guessNumber > number){ System.out.println("你要猜的数据:"+guessNumber +"大了"); }else if(guessNumber<number){ System.out.println("你要猜的数据:"+guessNumber+"小了了"); }else{ System.out.println("恭喜您,"+count+"次猜中了"); break ; } } } } /** * 登陆注册案例的测试类 * */ public class UserTest { public static void main(String[] args) { //为了能够回来,写一个while循环 while(true){ //给出选择界面,欢迎界面 System.out.println("----------------------------欢迎光临----------------------------------"); System.out.println("1 登陆"); System.out.println("2 注册"); System.out.println("3 退出"); //创建键盘录入对象 Scanner sc = new Scanner(System.in) ; //为了让同一个对象调用不同的功能:登陆和注册,将该对象定义swtich语句的外面 UserDao ud = new UserDaoImpl() ; //录入并接收数据 System.out.println("请输入您的选择:"); String choiceString = sc.nextLine() ; //,swtich语句后面的表达式用String switch(choiceString){ 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")){ //开始玩游戏了 GuessNumberGame.start() ; System.out.println("还玩吗?y/n"); }else{ break ; } } System.out.println("谢谢使用,欢迎下次再来...."); //如果一个while循环中嵌套了switch语句,那么break只表示结束swtich语句,并不能结束掉while循环 //结束while循环,应该使用System里面exit(0);终止Jvm 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 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 ; } } } }
思考:在登录注册测试类中,当while语句中含有switch语句时,break语句只能跳出switch语句,应该使用System.in跳出整个程序.
相关文章推荐
- Java学生信息管理系统及支持用户名登录
- 学生信息管理系统之第三篇登录界面java代码
- Java程序综合案例:教务处管理系统之学生档案管理模块
- Java GUI学生成绩管理系统3种权限登录界面
- JDBC应用、控制台连MySQL接数据库实现学生管理系统的登录注册、增删改查
- java学生管理系统(GUI)---第二个java文件(接上面的java程序,被调用的窗口)
- Java用户名登录学生信息管理系统并对其进行增删改查操作
- C程序简单学生成绩管理系统
- 将java程序注册为系统服务(wrapper.jar)
- java写的迷你学生信息管理系统
- 注册系统热键,调用java程序
- dedecms5.7商城系统无需登录注册即可订单购买程序修改
- [C] 结构体测试程序 -- 学生信息管理系统
- 校园数字化建设--注册中心投标文件研究(13)--学生注册管理系统设计方案
- 小程序:学生信息管理系统--C语言版本
- Java学生管理系统(GUI)--(又写了这种破玩意儿了老师,放过我们吧,能不能来点新意)
- c++程序学生系统管理
- 自己写的第一个程序————学生信息管理系统
- Java 学生管理系统代码
- 学生信息管理系统 login.java