首页 > 解决方案 > “如果”条件不能正常工作

问题描述

我不知道为什么我的 if else 条件无法正常工作。无论如何它都会打印“再试一次”(输入正确或错误的数据)。请帮助。非常感谢你。

public class InventoryManagementSystem {

public static void main(String[] args) {
    
    Scanner input = new Scanner (System.in);
    Administrator obj = new Administrator();
    String str = "123";
    
    System.out.print("Enter user ID: ");
    String userID = input.nextLine();
    
    System.out.print("Enter user password: ");
    int userPassword = Integer.parseInt(str);
    str = input.nextLine();
    
    System.out.print("Enter user Phone Number: ");
    long phoneNo = Integer.parseInt(str);
    str = input.nextLine();
    
    Administrator obj1 = new Administrator(userID, userPassword);
    Administrator obj2 = new Administrator(userID, userPassword, phoneNo);
    
    User obj3 = new User();
    
    System.out.println("ID : ");
    String ID = input.nextLine();
    
    System.out.println("Password : ");
    int pass = Integer.parseInt(str);
    str = input.nextLine();
    
    User obj4 = new User(ID,pass);
      
    if (userPassword==pass && userID.equals(ID)){
        System.out.println("Login succesfully!");
    }
    else {
        System.out.println("Try Again");
    }
   
}

}

标签: javaoop

解决方案


在整个代码中,您有以下几行乱序。

这个 :-

    System.out.println("Password : ");
    int pass = Integer.parseInt(str);
    str = input.nextLine();

应该是这样的:-

    System.out.println("Password : ");
    str = input.nextLine();
    int pass = Integer.parseInt(str);

推荐阅读