[pytanie] błąd w sprawdzeniu warunku

0

Jestem początkujący także proszę o wyrozumiałość. Chciałbym aby program który staram się napisać wyświetlił wiersz "test ok" w przypadku napisania ciągu "java" niestety za każdym razem otrzymuje "test zle", jaki zrobiłem błąd?


package aplikacja1;


import java.io.*;

class Pomocnik{

    public String pobierzDaneWejsciowe(String komunikat){
    
        String daneWejsciowe = null;
        System.out.print(komunikat + " ");
        try{
        
            BufferedReader is  = new BufferedReader(new InputStreamReader(System.in));
            daneWejsciowe = is.readLine();
            if (daneWejsciowe.length() == 0) return null;
        }catch(IOException e){
        
            System.out.println("IOException: " + e);
        }
        return daneWejsciowe.toString();
}
}


public class Aplikacja1 {

   
    public static void main(String[] args) {
        
        
        Pomocnik q = new Pomocnik();
        
        String wpisanyTekst = q.pobierzDaneWejsciowe("Wpisz cokolwiek :");
        System.out.println(wpisanyTekst);
        
        if(wpisanyTekst.toString()=="java"){
        System.out.println("test ok ");
        } else {
            System.out.println("test zle ");
        }
           
        
    }
}

efekt

run:
Wpisz cokolwiek : java
java
test zle 
BUILD SUCCESSFUL (total time: 23 seconds)<code>
1

źle porównujesz Stringi (metoda toString() jest zbyteczna)
Powinno być:

 
(s1.equals(s2))

Operator == porównuje referencje. (s1==s2) zwróci true tylko wtedy gdy s1 i s2 są w tym samym miejscu pamięci

0

działa, dziękuje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1