Sto tentando di rilevare se è stato immesso 'a' come primo argomento di stringa.Java Argomenti della riga di comando
risposta
public class YourClass {
public static void main(String[] args) {
if (args.length > 0 && args[0].equals("a")){
//...
}
}
}
Il metodo main
ha un argomento String[]
. Questo contiene gli argomenti che sono stati passati alle tue applicazioni (è spesso chiamato args
, ma non è un requisito).
argomenti della riga di comando vengono trasmessi nel primo parametro String[]
a main()
, ad esempio
public static void main(String[] args) {
}
Nell'esempio precedente, args
contiene tutti gli argomenti della riga di comando.
La risposta breve e dolce alla domanda posta è: gli argomenti della riga
public static void main(String[] args) {
if(args.length > 0 && args[0].equals("a")) {
// first argument is "a"
} else {
// oh noes!?
}
}
comandi sono accessibili tramite String[] args
parametro del metodo main
.
Per primo argomento è possibile controllare args[0]
intero codice sarebbe simile
public static void main(String[] args) {
if ("a".equals(args[0])) {
// do something
}
}
programma
Ogni Java inizia con
public static void main(String[] args) {
tale matrice di tipo String
che main()
prende come parametro contiene gli argomenti della riga di comando per il tuo programma. Se l'utente esegue il programma come
$ java myProgram a
poi args[0]
terrà la stringa "a".
Come tutti gli altri hanno detto ... il metodo .equals è quello che ti serve.
in bassa possibilità che hai usato qualcosa come:
if(argv[0] == "a")
allora non funziona perché == confronta la posizione dei due oggetti (uguaglianza fisica), piuttosto che il contenuto (uguaglianza logica).
Poiché "a" dalla riga di comando e "a" nella sorgente del programma sono allocati in due posizioni diverse, == non può essere utilizzato. Devi usare il metodo equals che controllerà che entrambe le stringhe abbiano gli stessi caratteri.
Un'altra nota ... "a" == "a" funzionerà in molti casi, perché le stringhe sono speciali in Java, ma il 99.99999999999999% del tempo che si desidera utilizzare .equals.
Utilizzare il apache commons cli se si prevede di estendere tale oltre un singolo arg.
"La libreria CLI di Apache Commons fornisce un'API per l'analisi delle opzioni della riga di comando passate ai programmi ed è inoltre in grado di stampare i messaggi di aiuto che dettagliano le opzioni disponibili per uno strumento da riga di comando."
Commons CLI supporta diversi tipi di opzioni:
- POSIX come opzioni (. Es tar -zxvf foo.tar.gz)
- GNU come opzioni lunghe (cioè du --human-leggibile. --max approfondita = 1)
- Java come le proprietà (es. java -Djava.awt.headless = true -Djava.net.useSystemProxies = true Foo)
- opzioni corte con valore attribuito (es. -O2 gcc foo.c)
- opzioni lunghe con trattino singolo (ad esempio ant -projec thelp)
cercare di passare il valore di una e confrontare con il metodo equals in questo modo:
public static void main(String str[]) {
boolean b = str[0].equals("a");
System.out.println(b);
}
Segui questo link per saperne di più su Command line argument in Java
Questo non è 'null'-safe ... – Samoth
argomenti della riga di comando vengono memorizzati come stringhe nel String
array String[] args that is passed to
principale() `.
java [program name] [arg1,arg2 ,..]
Gli argomenti della riga di comando sono gli input che accettano dal prompt dei comandi durante l'esecuzione del programma. Gli argomenti passati possono essere qualsiasi cosa. Che è memorizzato nell'array args[]
.
//Display all command line information
class ArgDemo{
public static void main(String args[]){
System.out.println("there are "+args.length+"command-line arguments.");
for(int i=0;i<args.length;i++)
System.out.println("args["+i+"]:"+args[i]);
}
}
Esempio:
java Argdemo one two
L'output sarà: [? Come fare il parsing argomenti della riga di comando in Java]
there are 2 command line arguments:
they are:
arg[0]:one
arg[1]:two
Nel tuo esempio, cosa significa javastack.java. ? Non so per certo cosa 'It' in' È usato per accettare input dal prompt dei comandi durante l'esecuzione del programma. »Si riferisce a, ma la sequenza è 1) comando parse 2) parametri di configurazione 3) esegui il programma. Non so per certo cosa il 'This' in' Questo essenzialmente accelera l'esecuzione del programma quando il programma dipende dall'input dell'utente. Si riferisce a, ma non c'è nulla in _parameter passing_ to _speed up the program execution_. – greybeard
- 1. argomenti in riga di comando Java
- 2. argomenti della riga di comando con leiningen
- 3. Argomenti della riga di comando di Eclipse
- 4. interattive lua: argomenti della riga di comando
- 5. args.length e della riga di comando argomenti
- 6. Argomenti della riga di comando in python.
- 7. Completamento automatico argomenti della riga di comando
- 8. Haskell: Parsing argomenti della riga di comando
- 9. Argomenti della riga di comando Python (Windows)
- 10. Argomenti della riga di comando nell'applicazione C#
- 11. PowerShell comando passaggio argomenti della riga
- 12. Argomenti riga di comando Java non validi Eccezione
- 13. Passaggio agli argomenti della riga di comando per eseguire JAR
- 14. Quali sono gli argomenti della riga di comando per sbt?
- 15. Esecuzione della riga di comando in Java
- 16. argomenti della riga di comando di passaggio a formica
- 17. argomenti della riga di comando di iniettare in psake
- 18. parsing "condizionale" di argomenti della riga di comando
- 19. funzione di R per analizzare argomenti della riga di comando
- 20. Esecuzione di eclissi con argomenti della riga di comando
- 21. File batch: numero di argomenti della riga di comando
- 22. argomenti della riga di comando dal contenuto di un file
- 23. Analisi LPTSTR * argomenti della riga di comando con boost :: program_options
- 24. accesso agli argomenti della riga di comando dal bundle OSGi
- 25. Utilizzo degli argomenti della riga di comando in VBscript
- 26. Argomenti della riga di comando nella finestra mobile-comporre
- 27. Argomenti della riga di comando che leggono la libreria monad
- 28. Come analizzare gli argomenti della riga di comando in Python?
- 29. Come accedere agli argomenti della riga di comando in Python?
- 30. Argomenti della riga di comando del debugger in Code :: blocks
Possibile duplicato (http://stackoverflow.com/ domande/367706/how-to-parse-comando-riga-argomenti-in-java) – xenteros