Hilfe, ich finde den Fehler nicht!



  • Ich will folgendes Programm mit den Parametern "Hello" und "World" starten,
    wenn etwas anderes eingegeben wurde dann soll er mir "Eingabe war falsch"
    ausgeben.

    Das Problem ist jetzt, selbst wenn ich das Programm richtig starte,
    gibt er mir die Meldung "Eingabe war falsch".

    $ java HelloWorld Hello World

    Und ich weiß nicht warum der bei der If-Abfrage, siehe Programm
    falsch abzweigt.

    Hier mein Programm:

    public class HelloWorld 
    {
      public static void main(String[] args) {
    
        if ( 2 == args.length )
        {
          if ( args[0] != "Hello" || args[1] != "World") 
          {    
            System.out.println("Eingabe war falsch");
          }
          else
          {
            System.out.println("Eingabe korrekt");
          }
        }
        else
        {
          System.out.println("Bitte 2 Parameter angeben");
        }
      }
    }
    

  • Mod

    Deine if-Abfrage prüft auf Identität und nicht auf Gleichheit. Es wird geguckt, ob es identische Strings sind und nicht, ob es Strings mit gleichem Inhalt sind. Richtig geht das so:

    if (myString.equals(myOtherString))



  • Ok, hat sich erledigt.



  • Gregor schrieb:

    Deine if-Abfrage prüft auf Identität und nicht auf Gleichheit. Es wird geguckt, ob es identische Strings sind und nicht, ob es Strings mit gleichem Inhalt sind. Richtig geht das so:

    if (myString.equals(myOtherString))

    Trotzdem danke nochmal.


Anmelden zum Antworten