2016-04-21 10 views
0

Ich habe über diese Frage gestolpert:Java-Schleife durch Befehlszeilenargumente, um zu sehen, welche Benutzereingaben?

ein komplettes Java-Programm schreiben, command.java, die alle seine Befehlszeilenargumente in umgekehrter Reihenfolge auf einer separaten Zeile jeder ausdruckt. Es kann beliebig viele Befehlszeilenargumente haben. Zum Beispiel java command az ba cad ausgeben würde

dac 
ab 
za 

Ich bin für spoonfeeding Antworten nicht fragen, aber hier sind einige Gedanken, die ich herausgefunden haben:

1) Wende Zeichenfolge von String getan werden kann, sobald ich habe jede Zeile wurde einer String-Variablen zugewiesen

Das Problem, das ich habe, ist jedoch, ob ich in der Lage bin, die "Befehlszeile" selbst zu durchlaufen, weil sie "beliebig viele Befehlszeile" verlangt, was ich bin Ich kann keine For-Schleife verwenden, weil ich den Bereich nicht kenne, aber könnte ich eine While-Schleife verwenden? Wenn das so ist, wie? Vielen Dank.

+0

Ich denke, u haben, müssen schauen einen [diese] (https://commons.apache.org/proper/commons-cli/) –

+0

Kein String Gebäude gibt. Argumente werden als Array-Parameter an 'main()' empfangen. Iterieren Sie das Array mit einer For-Schleife rückwärts und drucken Sie die Werte. – Andreas

Antwort

6
public static void main(String args[]){ 
    //here args array hold all the string inputs given from command line. you don't need 
    //worry how many were entered it will all be in the array. 
    // start printing the array from the last to first 
    for(int i= args.length-1; i>=0; i++){ 
     System.out.println(args[i]); 
    } 
} 
+0

Tipp: Verwenden Sie eine 'For'-Schleife. – Andreas

+0

@Andreas danke, ich wusste nicht (String Args []) stellt ein Array von Eingabe auf der Befehlszeile. Das macht es klarer! Vielen Dank! – Ken

0
class Command { 
    public static void main(String args[]){ 
     for(int i= args.length-1; i>=0; i--){ 
      StringBuilder input = new StringBuilder(); 
      input.append(args[i]); 
      System.out.println(input.reverse()); 
     } 
    } 
}