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系统结束");
 }}
我刚学的,用户名和输入的用户名它不能确认相同,不知道怎么该.大哥哥们指点下吧,谢谢

解决方案 »

  1.   

    判断内容是不是相等用equals方法,不能用==
    equals是判断内容,==是判断地址的
    name.equals(username) && pw.equals(password)
      

  2.   

    答案上同,将==换为equals()方法.ps:简单地说equals()方法是判断内容,==是判断地址是不确切的.
       因为在Object类范畴来看,它们是相同的,都是比较的引用地址。
        而String类继承自Object类,并重写了equals()方法,
       这才出现了大家通常所说的equals()方法是判断内容,==是判断地址.
       以上内容可以查看jdk中带的源文件.
      

  3.   

    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.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的 方法