Недавно начал учить 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");
}
}
}`
Вот рабочий вариант , проблема была в том, что == сравнивает две ссылки на объекты, и если обе ссылки ссылаются на один и тот же объект(экземпляр), возвращаеся 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");
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть массив элементов: у каждого есть координаты, bitmap и список анимаций (поворот, перемещение), который элемент должен выполнитьВсе в потоке...
Из класса Graphics2D я использую методы scale(), rotate(), translate()Есть ли способ посмотреть полный исходный код этих методов, чтобы в дальнейшем я смогла...