日期:2014-05-20  浏览次数:20785 次

对你们来说很简单但我没想通,帮我看看!
package di.shisi.zhi;
import java.util.Scanner;
public class Registe {
Scanner input = new Scanner(System.in);
public boolean verify(String name,String pwd1,String pwd2){
boolean fiag = false;
do{
System.out.println("请输入用户名:");
name = input.next();
System.out.println("请输入密码:");
pwd1 = input.next();
if(pwd1!=null){
System.out.println("请再次输入密码:");
pwd2 = input.next();
if(pwd1.equals(pwd2)){
if(name.length()>=3&&pwd1.length()>=6){
System.out.println("注册成功");
}else{
System.out.println("用户名长度不能小于3,密码长度不能小于6");
}
}
}else{
System.out.println("两次密码输入不相同,请重新输入密码!");
fiag =true;
}
return fiag;

}while(fiag = true);
}

}
这是第一个类,下面一个类是给这个类加一个循环并测试的

package di.shisi.zhi;
import java.util.Scanner;
public class Test {

 
 

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
Registe r = new Registe();
 
r.verify(name,pwd1,pwd2); //这句报错,请各位高手帮我看看这个类该咋写
// }while(r.fiag =true);


}

}
   
先谢谢!

------解决方案--------------------
你的代码是完整的么?r.verify(name,pwd1,pwd2); 这句话之前,并没有看到name,pwd1,pwd2这三个变量的定义啊?必然会报编译错误吧?

从你verify函数的实现来看,似乎又是函数内部从键盘读取的name,pwd1等信息,那么verify函数就应该不需要任何参数了。那么定义可以修改为:
public boolean verify(){
String name, pwd1, pwd2;
......
------解决方案--------------------
r.verify(name,pwd1,pwd2); 这个3个变量没看见你定义。当然要报错。