System.out.println("你猜的数据"+guessNumber+"小了");
}else{
System.out.println("恭喜你,"+count+"次就猜中了");
break;
}
}
}
}
5UserDao.java
packagecn.itcast.dao;
importcn.itcast.pojo.User;
/**
*这是针对用户进行操作的接口
*
*
*/
publicinterfaceUserDao{
/**
*这是用户登录功能
*
*@paramusername
*用户名
*@parampassword
*密码
*@return返回登录是否成功
*/
publicabstractbooleanisLogin(Stringusername,Stringpassword);
/**
*这是用户注册功能
*
*@paramuser
*要注册的用户信息
*/
publicabstractvoidregist(Useruser);
}
6UserDaoImpl.java
packagecn.itcast.dao.impl;
importjava.util.ArrayList;
importcn.itcast.dao.UserDao;
importcn.itcast.pojo.User;
/**
*这是用户操作的具体实现类(集合版)
*
*/
publicclassUserDaoImplimplementsUserDao{
//为了让多个方法能够使用同一个集合,就把集合定义为成员变量
//为了不让外人看到,用private
//为了让多个对象共享同一个成员变量,用static
privatestaticArrayListarray=newArrayList();
@Override
publicbooleanisLogin(Stringusername,Stringpassword){
//遍历集合,获取每一个用户,并判断该用户的用户名和密码是否和传递过来的匹配
booleanflag=false;
for(Useru:
array){
if(u.getUsername().equals(username)
&&u.getPassword().equals(password)){
flag=true;
break;
}
}
returnflag;
}
@Override
publicvoidregist(Useruser){
//把用户信息存储集合
//ArrayListarray=newArrayList();
array.add(user);
}
}
7UserTest.java
packagecn.itcast.test;
importjava.util.Scanner;
importcn.itcast.dao.UserDao;
importcn.itcast.dao.impl.UserDaoImpl;
importcn.itcast.game.GuessNumber;
importcn.itcast.pojo.User;
/**
*用户测试类
*
*
*新增加了两个小问题A:
多个对象共享同一个成员变量,用静态
*B:
循环里面如果有switch,并且在switch里面有break,那么结束的不是循环,而是switch语句
*
*/
publicclassUserTest{
publicstaticvoidmain(String[]args){
//为了能够回来
while(true){
//欢迎界面,给出选择项
System.out.println("--------------欢迎光临--------------");
System.out.println("1登录");
System.out.println("2注册");
System.out.println("3退出");
System.out.println("请输入你的选择:
");
//键盘录入选择,根据选择做不同的操作
Scannersc=newScanner(System.in);
//为了后面的录入信息的方便,我所有的数据录入全部用字符接收
StringchoiceString=sc.nextLine();
//switch语句的多个地方要使用,我就定义到外面
UserDaoud=newUserDaoImpl();
//经过简单的思考,我选择了switch
switch(choiceString){
case"1":
//登录界面,请输入用户名和密码
System.out.println("--------------登录界面--------------");
System.out.println("请输入用户名:
");
Stringusername=sc.nextLine();
System.out.println("请输入密码:
");
Stringpassword=sc.nextLine();
//调用登录功能
//UserDaoud=newUserDaomImpl();
booleanflag=ud.isLogin(username,password);
if(flag){
System.out.println("登录成功,可以开始玩游戏了");
System.out.println("你玩吗?
y/n");
while(true){
StringresultString=sc.nextLine();
if(resultString.equalsIgnoreCase("y")){
//玩游戏
GuessNumber.start();
System.out.println("你还玩吗?
y/n");
}else{
break;
}
}
System.out.println("谢谢使用,欢迎下次再来");
System.exit(0);
//break;//这里写break,结束的是switch
}else{
System.out.println("用户名或者密码有误,登录失败");
}
break;
case"2":
//欢迎界面,请输入用户名和密码
System.out.println("--------------注册界面--------------");
System.out.println("请输入用户名:
");
StringnewUsername=sc.nextLine();
System.out.println("请输入密码:
");
StringnewPassword=sc.nextLine();
//把用户名和密码封装到一个对象中
Useruser=newUser();
user.setUsername(newUsername);
user.setPassword(newPassword);
//调用注册功能
//多态
//UserDaoud=newUserDaoImpl();
//具体类使用
//UserDaoImpludi=newUserDaoImpl();
ud.regist(user);
System.out.println("注册成功");
break;
case"3":
default:
System.out.println("谢谢使用,欢迎下次再来");
System.exit(0);
break;
}
}
}
}