0

The problem is that the variables "check" and "password" are both the same string, but the if statement says it's false for some reason. How do i fix this exactly?

Here's the code:

import java.util.Scanner;
public class Manager {
   public static Scanner input = new Scanner(System.in);
   public static boolean isPasswordSet;
   public static String password;
   public static void password() {
    String check;
    while (true) {
        if (isPasswordSet == false) {
            System.out.println("Please set a new password: ");
            password = input.next();
            System.out.println("Enter password again: ");
            check = input.next();
            if (check == password) {
                isPasswordSet = true;
                System.out.println("Welcome");
                return;
            } else if (check != password) {
                System.out.println("Password incorrect.");
                isPasswordSet = false;
                continue;
            }
        } else if (isPasswordSet == true) {
            System.out.println("Please enter password: ");
            check = input.next();
            if (check == password) {
                System.out.println("Welcome");
            } else if (check != password) {
                System.out.println("Password incorrect.");
                continue;
            }
        }
    }
}
public static void main(String args[]) {
    password();
}

}

Output:

Please set a new password: 
ryan
Enter password again: 
ryan
Password incorrect.
Please set a new password: 
URSkrub
  • 1
  • 1

0 Answers0