你的程序有一点小问题,m的值没改变,我给你改了一下,你看看吧。
import java.util.*;
class User{
private String userName,password;
User(){
System.out.println("输入用户名:");
Scanner reader=new Scanner(System.in);
userName=reader.nextLine();
System.out.println("输入密码:");
Scanner reader1=new Scanner(System.in);
password=reader1.next();
}
void check(){
int m=0;
int n=0;
if(userName.equals("")==true || userName==null)
m=0;
else
m=userName.length();
if(password.equals("12345678")==true)
n=1;
if(m!=0 && n==1){
System.out.println("用户名有效");
}else{
System.out.println("用户名无效");
}
}
}
public class Users {
public static void main(String[] args){
User user=new User();
user.check();
}
}
int m=0;
int n=0;
if(userName.equals("")==true)
m=0;
你这里错了 m你赋初值为0;然后账户为空的话,m还赋值为0,所以你m永远都是0,而你下面又用m来判断,所以啊,你的m!=0 永远是false,只会输出用户名无效
你应该加一句,改成这样:
int m=0;
int n=0;
if(userName.equals("")==true)
m=0;
else m=1;
(userName.equals("")==true 这个地方错了
你用引用号这样的话就等于有字符了不算空值
这部分不用equals 向下面这样改
userName!=null /用户名不等于空