(Java) Значение, проверяемое if, истинно, но срабатывает else

148
15 января 2020, 07:30

Недавно начал учить Java, изучал if, решил вот такое написать. При вводе правильного username и password, которые соответствуют adminUsername и adminPassword, всё-равно срабатывает else.

`package cynder;
import java.util.Scanner;
public class Lyngot {
public static void main(String[] args) {
    int lyngotToWithdraw, lyngotBalance = 4923;
    double USD_toWithdraw, USD_Balance = 342;
    String username, password, adminPassword, adminUsername;
    Scanner scan = new Scanner(System.in);
    adminUsername = "Michael";
    adminPassword = "Alexstrasza25";
    System.out.println("Welcome. Enter your username:");
    username = scan.nextLine();
    System.out.println("Enter your password");
    password = scan.nextLine();
    if(username == adminUsername && password == adminPassword) {
        System.out.println("Welcome. Write how much USD you want to withdraw:");
        USD_toWithdraw = scan.nextDouble();
        System.out.println("Write how much Lyngot you want to withdraw");
        lyngotToWithdraw = scan.nextInt();
        if(USD_toWithdraw >= USD_Balance) {
            if(lyngotToWithdraw >= lyngotBalance) {
                System.out.println("Please wait...");
                System.out.println("The operation was successful.");
            } else {
                System.out.println("Error. Not enough Lyngot on balance");
            }
        } else {
            System.out.println("Error. Not enough USD on balance");
        }
    } else {
        System.out.println("Wrong password or username");
    }
}

}`

Answer 1

Вот рабочий вариант , проблема была в том, что == сравнивает две ссылки на объекты, и если обе ссылки ссылаются на один и тот же объект(экземпляр), возвращаеся true,если нет - false. s1.equals(s2); сравнивает значение внутри экземпляров

if(username.equals(adminUsername) && password.equals(adminPassword))

import java.util.Scanner; 
public class qew { 
public static void main(String[] args) { 
    int lyngotToWithdraw, lyngotBalance = 4923; 
    double USD_toWithdraw, USD_Balance = 342; 
    String username, password, adminPassword, adminUsername; 
    Scanner scan = new Scanner(System.in); 
    adminUsername = "Michael"; 
    adminPassword = "Alexstrasza25"; 
    System.out.println("Welcome. Enter your username:"); 
    username = scan.nextLine(); 
    System.out.println("Enter your password"); 
    password = scan.nextLine(); 
    if(username.equals(adminUsername) && password.equals(adminPassword)) { 
        System.out.println("Welcome. Write how much USD you want to withdraw:"); 
        USD_toWithdraw = scan.nextDouble(); 
        System.out.println("Write how much Lyngot you want to withdraw"); 
        lyngotToWithdraw = scan.nextInt(); 
        if(USD_toWithdraw >= USD_Balance) { 
            if(lyngotToWithdraw >= lyngotBalance) { 
                System.out.println("Please wait..."); 
                System.out.println("The operation was successful."); 
            } else { 
                System.out.println("Error. Not enough Lyngot on balance"); 
            } 
        } else { 
            System.out.println("Error. Not enough USD on balance"); 
        } 
    } else    System.out.println("Wrong password or username"); 
     
} 
}

READ ALSO
Не знаю, какие классы использовать для создания анимации на SurfaceView в потоке Surface Holder

Не знаю, какие классы использовать для создания анимации на SurfaceView в потоке Surface Holder

Есть массив элементов: у каждого есть координаты, bitmap и список анимаций (поворот, перемещение), который элемент должен выполнитьВсе в потоке...

146
SimpleDateFormatter Android Studio

SimpleDateFormatter Android Studio

пытаюсь спарсить дату вида "2510

146
Как посмотреть исходный код методов scale(), rotate(), translate() класса Graphics2D?

Как посмотреть исходный код методов scale(), rotate(), translate() класса Graphics2D?

Из класса Graphics2D я использую методы scale(), rotate(), translate()Есть ли способ посмотреть полный исходный код этих методов, чтобы в дальнейшем я смогла...

132
Вопрос про фрейм и панели в Java

Вопрос про фрейм и панели в Java

Смотрите, у меня после нажатия на кнопку

127