Frage von BenStudio, 51

Java: Wie kann man args in der Main-Methode verwenden?

Ja, okey ich weiß das Thema gibts bestimmt oft genug hier, aber ich kann nirgenwo finden, wie ich diesen args String-Array in der Main-Methode von außen verändern kann. Also wenn ich z.B. in main einfach "System.out.print(args[0]);" schreibe bekomme ich immer die selbe Fehlermeldung in der Konsole (ich benutze übrigens Eclipse falls das einen unterschied macht). Ich weiß nun nicht wie ich es schaffe, dieses Array von außen i wie zu verändern.

Kontext: Ich will ein TCP Echo Client programmieren, bei dem ich über args den Servernamen (+Port) übergeben will und den String der "geechot" werden soll.

Danke schonmal!

Antwort
von BenStudio, 34

Wo kann man was einfügen?

Antwort
von Unkreatiiiev, 33

Das sollte man nun wirklich ganz am Anfang lernen. Wenn man das Programm startet, kann man Argumente hinzufügen.

java MeinProgramm Argument1 Argument2 ...

Das Programm hat jetzt die Argumente als String in dem Array der Hauptmethode.

Kommentar von BenStudio ,

Wo kann man das Einfügen Beim Start benutze ich einfach den Start Knopf bei eclipse? Da kann man keine strings angeben...

Kommentar von spaghetticode ,

Doch. Eclipse bietet eine Einstellung für Startargumente. Damit wird der Aufruf, wie Unkreatiiiev ihn zeigt, von Eclipse simuliert. Wo, weiß ich gerade nicht, aber das solltest du im Handbuch auf der Eclipse-Seite finden bzw. ergooglen können.

Ich glaube, du hast aber eine falsche Vorstellung davon, was es mit diesen Argumenten auf sich hat. Anders als Funktionsargumente übergibst du die nicht im Code, sondern beim Aufruf deines Programms. Die haben dann für dein Programm einen ähnlichen Charakter wie globale Variablen. Du kannst diese Variable daher nicht "von außen beeinflussen". Du übergibst sie einfach nur beim Start des Programms, wie Unkreatiiiev es demonstriert hat, und kannst in deinem Code lesend auf den Inhalt zugreifen, mehr aber auch nicht.

Das ganze Konzept dieses Parameters dient lediglich dazu, einem Programm beim Start bestimmte Informationen mitzugeben, an die das Programm anders nicht kommt (zum Beispiel über Benutzereingaben).

Kommentar von Tschoo ,

Dann musst du es halt über die Konsole starten oder bei Eclipse schauen, wo der Start mit Parametern geht ...

Es reicht nicht, nur zu sagen es geht nicht -- so wirst du kein lauffähiges Programm hinbekommen ....

Kommentar von Unkreatiiiev ,

Vielleicht solltest du erst lernen, mit dem Kompilieren und Ausführen von Java-Programmen per Kommandozeile umzugehen, bevor du eine IDE benutzt.

Kommentar von spaghetticode ,

Halte ich bei Java für nicht ganz so wichtig wie bei rein kompilierten Sprachen, aber grundsätzlich ist es immer gut, erstmal zu wissen / zu verstehen, welche Schritte einem die IDE da eigentlich so abnimmt und was hinter den Kulissen passiert.

Keine passende Antwort gefunden?

Fragen Sie die Community