当前位置: 代码迷 >> J2SE >> 简单实现注册用户名重名提示功能的代码有关问题
  详细解决方案

简单实现注册用户名重名提示功能的代码有关问题

热度:40   发布时间:2016-04-24 01:04:39.0
简单实现注册用户名重名提示功能的代码问题
引用
while(true){
rename=false; //重命名回复默认值
System.out.print("请输入用户名:");
user=in.next();

//核对用户名是否重名,如果重名提示错误信息并且跳转开头
for(int i=0;i<9;i++){
int c=0;
if(user.equals(userinfo[c])){
rename=true;
break;
}
c++;
}
if(rename){
System.out.println("您的用户名已经被人注册,请选择其他用户名注册。");
continue;
}

System.out.print("请输入密码:");
password=in.next();
System.out.print("请再次输入密码:");
passwordagain=in.next();
if(!passwordagain.equals(password)){
System.out.println("密码不一致,请重新输入:");
continue;
}
System.out.println(a);
userinfo[a]=user;
System.out.println(userinfo[a]);
passwordinfo[b]=password;
a++;
b++;
System.out.println(a);
System.out.println(userinfo[a]);
System.out.println("退出请输入0");
int tuichu=in.nextInt();
if(tuichu==0){
break;
}
}



简单实现注册用户名重名提示功能的代码问题。
以上代码测试时发现问题,第一次注册用户名第二次输入会提示用户名重复,但是第二次注册的用户名第三次输入却无提示。
百思不得其解,求大师指点

------解决方案--------------------
Java code
    public static void main(String args[]) {        Scanner in = new Scanner(System.in);        String[] userinfo = new String[]{"a","b"};        while (true) {            boolean rename = false; // 重命名回复默认值            System.out.print("请输入用户名:");            String user = in.next();            int c = 0;//是这个c的问题吧?你每次都置c=0,c++就相当于没用了。放外面。            for (int i = 0; i<9; i++) {                if (user.equals(userinfo[c])) {                    rename = true;                    break;                }                c++;            }            if (rename){                System.out.println("您的用户名已经被人注册,请选择其他用户名注册。");                continue;            }            System.out.print("请输入密码:");            String password = in.next();            System.out.print("请再次输入密码:");            String passwordagain = in.next();            if (!passwordagain.equals(password)) {                System.out.println("密码不一致,请重新输入:");                continue;            }                        System.out.println("退出请输入0");            int tuichu = in.nextInt();            if (tuichu == 0) {                break;            }        }    }
  相关解决方案