java基础入门之登录注册IO.docx
- 文档编号:6187245
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:9
- 大小:16.81KB
java基础入门之登录注册IO.docx
《java基础入门之登录注册IO.docx》由会员分享,可在线阅读,更多相关《java基础入门之登录注册IO.docx(9页珍藏版)》请在冰豆网上搜索。
java基础入门之登录注册IO
1User.java
packagecn.itcast.pojo;
/**
*这是用户基本描述类
**
*/
publicclassUser{
//用户名
privateStringusername;
//密码
privateStringpassword;
publicUser(){
}
publicStringgetUsername(){
returnusername;
}
publicvoidsetUsername(Stringusername){
this.username=username;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
}
2GuessNumber.java
packagecn.itcast.game;
importjava.util.Scanner;
/**
*这是猜数字小游戏
*
*
*/
publicclassGuessNumber{
privateGuessNumber(){
}
publicstaticvoidstart(){
//产生一个随机数
intnumber=(int)(Math.random()*100)+1;
//定义一个统计变量
intcount=0;
while(true){
//键盘录入一个数据
Scannersc=newScanner(System.in);
System.out.println("请输入数据(1-100):
");
intguessNumber=sc.nextInt();
count++;
//判断
if(guessNumber>number){
System.out.println("你猜的数据"+guessNumber+"大了");
}elseif(guessNumber System.out.println("你猜的数据"+guessNumber+"小了"); }else{ System.out.println("恭喜你,"+count+"次就猜中了"); break; } } } } 3UserDao.java packagecn.itcast.dao; importcn.itcast.pojo.User; /** *这是针对用户进行操作的接口 ** */ publicinterfaceUserDao{ /** *这是用户登录功能 * *@paramusername *用户名 *@parampassword *密码 *@return返回登录是否成功 */ publicabstractbooleanisLogin(Stringusername,Stringpassword); /** *这是用户注册功能 * *@paramuser *要注册的用户信息 */ publicabstractvoidregist(Useruser); } 4UserDaoImpl.java packagecn.itcast.dao.impl; importjava.io.BufferedReader; importjava.io.BufferedWriter; importjava.io.File; importjava.io.FileNotFoundException; importjava.io.FileReader; importjava.io.FileWriter; importjava.io.IOException; importcn.itcast.dao.UserDao; importcn.itcast.pojo.User; /** *这是用户操作的具体实现类(IO版) * *@author风清扬 *@versionV1.1 * */ publicclassUserDaoImplimplementsUserDao{ //为了保证文件一加载就创建 privatestaticFilefile=newFile("user.txt"); static{ try{ file.createNewFile(); }catch(IOExceptione){ System.out.println("创建文件失败"); //e.printStackTrace(); } } @Override publicbooleanisLogin(Stringusername,Stringpassword){ booleanflag=false; BufferedReaderbr=null; try{ //br=newBufferedReader(newFileReader("user.txt")); br=newBufferedReader(newFileReader(file)); Stringline=null; while((line=br.readLine())! =null){ //用户名=密码 String[]datas=line.split("="); if(datas[0].equals(username)&&datas[1].equals(password)){ flag=true; break; } } }catch(FileNotFoundExceptione){ System.out.println("用户登录找不到信息所在的文件"); //e.printStackTrace(); }catch(IOExceptione){ System.out.println("用户登录失败"); //e.printStackTrace(); }finally{ if(br! =null){ try{ br.close(); }catch(IOExceptione){ System.out.println("用户登录释放资源失败"); //e.printStackTrace(); } } } returnflag; } @Override publicvoidregist(Useruser){ /* *为了让注册的数据能够有一定的规则,我就自己定义了一个规则: 用户名=密码 */ BufferedWriterbw=null; try{ //bw=newBufferedWriter(newFileWriter("user.txt")); //bw=newBufferedWriter(newFileWriter(file)); //为了保证数据是追加写入,必须加true bw=newBufferedWriter(newFileWriter(file,true)); bw.write(user.getUsername()+"="+user.getPassword()); bw.newLine(); bw.flush(); }catch(IOExceptione){ System.out.println("用户注册失败"); //e.printStackTrace(); }finally{ if(bw! =null){ try{ bw.close(); }catch(IOExceptione){ System.out.println("用户注册释放资源失败"); //e.printStackTrace(); } } } } } 5UserTest.java packagecn.itcast.test; importjava.util.Scanner; importcn.itcast.dao.UserDao; importcn.itcast.dao.impl.UserDaoImpl; importcn.itcast.game.GuessNumber; importcn.itcast.pojo.User; /** *用户测试类 * * */ 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; } } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 基础 入门 登录 注册 IO