Ich versuche zu erkennen, ob das ‘a’ als erstes String-Argument eingegeben wurde.
Java-Befehlszeilenargumente
John Ellinwood
Verwenden Sie die Apache-Commons-Cli wenn Sie vorhaben, dies über ein einzelnes Argument hinaus zu erweitern.
“Die Apache Commons CLI-Bibliothek bietet eine API zum Analysieren von Befehlszeilenoptionen, die an Programme übergeben werden. Sie kann auch Hilfemeldungen drucken, die die für ein Befehlszeilentool verfügbaren Optionen detailliert beschreiben.”
Commons CLI unterstützt verschiedene Arten von Optionen:
- POSIX-ähnliche Optionen (z. B. tar -zxvf foo.tar.gz)
- GNU-ähnliche lange Optionen (z. B. du –human-readable –max-depth=1)
- Java-ähnliche Eigenschaften (z. B. java -Djava.awt.headless=true -Djava.net.useSystemProxies=true Foo)
- Short-Optionen mit angehängtem Wert (z. B. gcc -O2 foo.c)
- lange Optionen mit einem Bindestrich (z. B. ant -projecthelp)
Björn
public class YourClass {
public static void main(String[] args) {
if (args.length > 0 && args[0].equals("a")){
//...
}
}
}
Bill die Eidechse
Jedes Java-Programm beginnt mit
public static void main(String[] args) {
Diese Reihe von Typen String
das main()
nimmt als Parameter die Kommandozeilenargumente für Ihr Programm. Wenn der Benutzer Ihr Programm als ausführt
$ java myProgram a
dann args[0]
hält den String “a”.
Befehlszeilenargumente werden im ersten übergeben String[]
Parameter zu main()
z.B
public static void main( String[] args ) {
}
Im obigen Beispiel args
enthält alle Befehlszeilenargumente.
Die kurze, süße Antwort auf die gestellte Frage lautet:
public static void main( String[] args ) {
if( args.length > 0 && args[0].equals( "a" ) ) {
// first argument is "a"
} else {
// oh noes!?
}
}
Auf Befehlszeilenargumente kann über zugegriffen werden String[] args
Parameter von main
Methode.
Für das erste Argument können Sie überprüfen args[0]
gesamten Code aussehen würde
public static void main(String[] args) {
if ("a".equals(args[0])) {
// do something
}
}
Joachim Sauer
Deine main
Methode hat a String[]
Streit. Das enthält die Argumente, die an Ihre Anwendungen übergeben wurden (oft als args
aber das ist keine Voraussetzung).
Samoth
Versuchen Sie, den Wert a zu übergeben und mit der equals-Methode wie folgt zu vergleichen:
public static void main(String str[]) {
boolean b = str[0].equals("a");
System.out.println(b);
}
Folgen Sie diesem Link, um mehr darüber zu erfahren Befehlszeilenargument in Java
.
Mögliches Duplikat von How to parse command line arguments in Java?
– Xenteros
30. August 16 um 6:57 Uhr