2016-05-08 20 views
-3

Ich verstehe die Weitergabe von Parametern an Methoden etc, aber ich verstehe nicht, wie ich zusätzliche Dinge, wie eine Zeichenfolge übergeben kann (außerhalb der normalen String-Array).Wie Parameter an Main in Java übergeben werden

Das Problem, das ich habe, ist, dass ich ein Paket habe, das eine Datei anschaut und dann Sachen macht und dann entscheidet, ob es bestimmten Text darin gibt.

Wenn da dann andere Dinge passieren. Es kommt einfach vor, dass diese anderen Dinge in einem anderen Paket enthalten sind, das ich bereits codiert habe. Alles, was benötigt wird, ist, dass die Zeichenfolge aus Paket A an die Hauptmethode in einer der Klassen in Paket B übergeben wird. Ich weiß einfach nicht, wie ich sie übergeben soll. Gibt es eine Möglichkeit zum Hinzufügen von etwas wie:

Aber dann wie nennst du es? Einfach main(filename) übergeben und davon ausgehen, dass String [] args von der JVM automatisch aufgerufen wird?

+3

Aus Gründen der Übersichtlichkeit sollten Sie niemals die 'main()' Methode überladen. Die Methode 'main()' dient zum Aufrufen der Anfangsklasse bei Ausführung über die Befehlszeile. Wenn Sie Logik von anderen Orten aufrufen müssen, benennen Sie die Methode mit anderen Parametern anders. Methodennamen sollten angeben, was sie tun. – Andreas

+0

Also habe ich schon eine Hauptmethode im Paket, die das Programm startet, vermutlich brauche ich kein anderes Main und kann das umbenennen? Vielleicht missverstehe ich, was Main tatsächlich macht. –

+0

Read [The Java ™ Tutorials - Ein genauerer Blick auf die "Hallo Welt!" Anwendung] (https://docs.oracle.com/javase/tutorial/getStarted/application/). – Andreas

Antwort

3

Der Parameter String[] der main-Methode enthält die Befehlszeilenargumente, die Sie an die App übergeben, wenn Sie die App von cmd.exe oder Bash ausführen. Dies ist die Syntax der Befehlszeile Argumente geben:

java [name of the class that has the main method] [arguments] 

Mit einer JAR-Datei anstelle einer Class-Datei:

java -jar [full path of the jar] [arguments] 

Jedes Argument mit einem Raum (U + 0020) getrennt ist. Um ein Argument zu erstellen, das Leerzeichen enthält, schließen Sie es in doppelte Anführungszeichen ein. Beispiel:

java Foo "this is one argument" 

Beachten Sie, dass die wichtigste Methode in jeder Java-Anwendung genau einen Parameter haben müssen - die String[], die die Befehlszeilenargumente enthält.

Verwandte Themen