Регистрация не е нужна, освен при създаване на тема в "Задача на седмицата".

Някъде има грешка

Някъде има грешка

Мнениеот Гост » 06 Май 2022, 17:14

Здравейте, някой може ли да ми обясни къде греша със следната задача:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String password = input.nextLine();
if(password == "s3cr3t!P@ssw0rd"){
System.out.println("Welcome");
} else {
System.out.println("Wrong password!");
}
}
}
Ако въведа грешна парола ми изписва Wrong password!, но ако въведа вярната отново ми изписва Wrong password!, а трябва да е Welcome? :geek: :?:
Гост
 

Re: Някъде има грешка

Мнениеот Davids » 06 Май 2022, 17:45

Стрингове в Java не се сравняват с оператора ==. Той сравнява референции, т.е. дали отляво и отдясно стои един и същи обект като адрес в паметта. Това, което искаш, е password.equals("secretpassword"), което вече е метода за сравнение на стойностите на два обекта от тип String.
*Нещо непосредствено и интересно, привличащо вниманието на читателя и оставящо го с приятна топла усмивка на лицето.*
----
Вече не го правя само за точката. :lol:
Davids
Математик
 
Мнения: 2383
Регистриран на: 16 Ное 2015, 11:47
Рейтинг: 2538


Назад към C#, Java



Кой е на линия

Регистрирани потребители: Google [Bot]

Форум за математика(архив)