import java.util.*;
public class PswVerlfy { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String username=manager;
int password=0000;
Scanner input=new Scanner(System.in);
for(int i=3;i>=1;i--){
System.out.print("请输入用户名:");
String name=input.next();
System.out.print("请输入密码:");
int pw=input.nextInt();
if(name==username && pw==password){
System.out.println("\n欢迎进入我行我素购物管理系统!");
break;
}else if(i>1){
System.out.println("\n你还有"+(i-1)+"机会,请重新输入:");
}else{
System.out.println("\n您没有权限进入系统!");
}
}
System.out.println("\n系统结束");
}}
我刚学的,用户名和输入的用户名它不能确认相同,不知道怎么该.大哥哥们指点下吧,谢谢
public class PswVerlfy { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String username=manager;
int password=0000;
Scanner input=new Scanner(System.in);
for(int i=3;i>=1;i--){
System.out.print("请输入用户名:");
String name=input.next();
System.out.print("请输入密码:");
int pw=input.nextInt();
if(name==username && pw==password){
System.out.println("\n欢迎进入我行我素购物管理系统!");
break;
}else if(i>1){
System.out.println("\n你还有"+(i-1)+"机会,请重新输入:");
}else{
System.out.println("\n您没有权限进入系统!");
}
}
System.out.println("\n系统结束");
}}
我刚学的,用户名和输入的用户名它不能确认相同,不知道怎么该.大哥哥们指点下吧,谢谢
equals是判断内容,==是判断地址的
name.equals(username) && pw.equals(password)
因为在Object类范畴来看,它们是相同的,都是比较的引用地址。
而String类继承自Object类,并重写了equals()方法,
这才出现了大家通常所说的equals()方法是判断内容,==是判断地址.
以上内容可以查看jdk中带的源文件.
public class PswVerlfy { /**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
String username="manager";
int password=0000; Scanner input=new Scanner(System.in);
for(int i=3;i>=1;i--){
System.out.print("请输入用户名:");
String name=input.next();
System.out.print("请输入密码:");
int pw=input.nextInt(); if(name.equals(username) && pw==password){
System.out.println("\n欢迎进入我行我素购物管理系统!");
break;
}else if(i>1){
System.out.println("\n你还有"+(i-1)+"机会,请重新输入:");
}else{
System.out.println("\n您没有权限进入系统!");
}
}
System.out.println("\n系统结束");
} }
这是修改后的 代码~ 错误出在 String username=manager;
你没打引号~ 还有就是 字符串比较 是否相等的话需要 用.equals的 方法