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
Użytkownik

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



Administrator




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
Użytkownik

działa! dzięki wielkie :)
Offline
Strony: 1