Avatar
Daniel Vágner:

Dobrý den,
mám dotaz ohledně kódu. Projížděl jsem znova lekci (if, else atd..) a zkoušel jsme si něco vytvořit sám. Narazil jsme na problém, a proto jsem se chtěl zeptat. Proč při správné odpovědi, mě to vždy vypíše to co mam v else a ne to co je v if?
Předem děkuji za odpověď.

   Scanner sc= new Scanner(System.in,"windows-1250");
    String s = "car";

    System.out.println("zadej anglické slovo auto");
    String a = sc.nextLine();
    System.out.println(a.contains("car"));

    if  (a==s)
    {
        System.out.println("Ano správný překlad slova auto je car. Máte to dobře!");
    }
    else
    {
        System.out.println("Chyba! Napsal jsi " + a+ "." + " Správná odpověď je = " + s + ".");
    }
    }

}
 
Odpovědět 21. listopadu 15:53
Avatar
pocitac770
Redaktor
Avatar
Odpovídá na Daniel Vágner
pocitac770:

Stringy se neporovnávají pomocí ==, ale metody .equals(), jde o to, že String se chová jinak, než třeba int, důvod zjistíš později.

if(a.equals(c))
        ....
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 21. listopadu 16:00
Avatar
Daniel Vágner:

Aha, děkuji moc :)

 
Nahoru Odpovědět 21. listopadu 16:01
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.