Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
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)
Offline
Zamiast:
if(wpisanyTekst.toString()=="java")
powinno być:
if(wpisanyTekst.equals("java"))
"==" nie nadaje się do porównywania stringów. W ten sposób porównujesz referencje do obiektów, różnych obiektów więc nie może być równe. Użycie toString() na obiekcie, który jest typu String nie jest potrzebne.
Ostatnio edytowany przez kamikaze (2012-01-27 20:38:50)
Offline
działa! dzięki wielkie :)
Offline
Strony: 1