Zapraszam do lektorki, bo Klasa String i ten problem, który u Ciebie występuje to jedna z podstawowych rzeczy, którą musisz zrozumieć w Javie do dalszej pracy
https://javastart.pl/baza-wiedzy/efektywne-programowanie/javatraps-001
Sprawa prosta: porównanie = -> to porównywanie referencji czym to jest też powinieneś wiedzieć i się zapoznać
Wartości typów obiektowych porównujemy odpowiednimi metodami, albo equals, albo implementowanymi według własnych warunków.
// To działa jak należy
String odp = "NIE";
if (odp == "TAK"){
System.out.println("A więc jednak TAK");
}
else if (odp == "NIE"){
System.out.println("NIE do końca");
}
else{
System.out.println("Wszystko inne");
}
Zapoznaj się jeszcze z STRING POOL :) i tym jak tworzone są stringi, gdyż o ile to może i działa
to tak naprawdę to co poniżej już nie .
public class HelloWorld{
public static void main(String []args){
String odp = new String("NIE");
if (odp == "TAK"){
System.out.println("A więc jednak TAK");
}
else if (odp == "NIE"){
System.out.println("NIE do końca");
}
else{
System.out.println("Wszystko inne");
}
}
}
// to nie działa Wszystko inne -> rezultat :)