怎么判断一个用户已经注册过,怎么写

qq_29851443 2016-04-01 09:41:25
package cn.conset.cm;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

/*用字符缓冲流实现用户登录和注册*/
public class Demo06 {

public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
while(true){
Scanner sc=new Scanner(System.in);
System.out.println("请选择功能 A(登录) B(注册)");
String option=sc.next();
if("a".equals(option)){
System.out.println("选择了登录功能");
String name=sc.next();
String password=sc.next();
String info=name+" "+password;
String line=null;
FileReader input=new FileReader("C:\\Users\\Administrator\\Desktop\\a.txt");
BufferedReader bufr=new BufferedReader(input);
boolean flag=false;

while((line=bufr.readLine())!=null){
if(info.equals(line)){
flag=true;
break;

}

}
if(flag==true){
System.out.println("登录成功");
}else{
System.out.println("登录失败");
}

}
else if("b".equals(option)){
System.out.println("选择了注册功能");
String name=sc.next();
String password=sc.next();
String info=name+" "+password;
FileWriter input=new FileWriter("C:\\Users\\Administrator\\Desktop\\a.txt");
BufferedWriter buf=new BufferedWriter(input);
buf.write(info);
buf.close();
}else{
System.out.println("您的输入有误");

}
}
}
}
...全文
558 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29851443 2016-04-02
  • 打赏
  • 举报
回复
引用 3 楼 Tro_picana 的回复:
你的代码里有些地方问题,"b".equalsIgnoreCase(option)改成忽略大小写的,另外 FileWriter input=new FileWriter("C:\\Users\\Administrator\\Desktop\\a.txt");改成FileWriter input=new FileWriter("C:\\Users\\Administrator\\Desktop\\a.txt", true); 否则新注册的用户写入时会覆盖掉以前的,最好写入数据时换行buf.write(info); buf.write("\r\n");后面有用。 解决这些问题后,你在注册的时候加一个逻辑判断,先用上面的 FileReader 将文件读出来,一行行读,读出来的数据按照你写的是username + "空格" + password,你用split处理一下,将username放到一个list里面,用list.constain(“新注册的用户名”)来判断是否已经注册,如果为true表示已经注册。
对对对,确实要加true,忘记了,按你的方法,把数据添加到集合中,从集合中来判断?
qq_29851443 2016-04-02
  • 打赏
  • 举报
回复
引用 1 楼 EnochYin 的回复:
用ajax写
这个用数据库知识吗,有没有不用数据库知识做的
小白晒太阳 2016-04-01
  • 打赏
  • 举报
回复
你的代码里有些地方问题,"b".equalsIgnoreCase(option)改成忽略大小写的,另外 FileWriter input=new FileWriter("C:\\Users\\Administrator\\Desktop\\a.txt");改成FileWriter input=new FileWriter("C:\\Users\\Administrator\\Desktop\\a.txt", true); 否则新注册的用户写入时会覆盖掉以前的,最好写入数据时换行buf.write(info); buf.write("\r\n");后面有用。 解决这些问题后,你在注册的时候加一个逻辑判断,先用上面的 FileReader 将文件读出来,一行行读,读出来的数据按照你写的是username + "空格" + password,你用split处理一下,将username放到一个list里面,用list.constain(“新注册的用户名”)来判断是否已经注册,如果为true表示已经注册。
ranAge_miao 2016-04-01
  • 打赏
  • 举报
回复
按照你的这种思路是在选择注册的时候在接受到user的时候可以进行一次数据库查询,有就不能注册 没有就可以走下一步操作 也可以用ajax在前台做一个异步查询函数 在文本框内设置一个焦点 当输入完用户名的时候鼠标离开文本框触发ajax异步查询 之后做下判断就可以
EnochYin 2016-04-01
  • 打赏
  • 举报
回复
用ajax写
Usher丶AckMan 2016-04-01
  • 打赏
  • 举报
回复
我都没看你的代码,我给你讲一下思路! 1.当用户输入用户名、密码的时候,点击按钮.你给这个按钮一个事件,ajax,去后端查询数据库有木有这个用户即可,然后将结果返回. 2.当用户输入用户名的时候,设置一个onblur()事件,也是利用ajax去查询数据库,然后在用户名下设置一个隐藏域,如果用户存在,将隐藏域显示,提示用户,并且将button按钮设置成disabled.
csucaicai 2016-04-01
  • 打赏
  • 举报
回复
html5,autoComplete 文本区域输入时,实时查询数据库中信息,如果存在,则提示:该用户已经被注册
Akuma_lht 2016-04-01
  • 打赏
  • 举报
回复
给文本框添加事件,失焦时获取文本框值。ajax传回后台对比
scmod 2016-04-01
  • 打赏
  • 举报
回复
额...写到文本里.. 那感觉不如创建的文件名就用用户名来命名..只是不能有特殊字符了就 或者就只能把文本读出来遍历下或者正则下

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧