Use of String[] args

vjung

Aktives Mitglied
Java:
1 /* Example: use of String[] args */
2 public class Test {
3 public static void main(String[] args) {
4 for (int i = 0; i < args.length; i++) {
5 System.out.printf("args[%d]=\"%s\"%n", i, args[i]);
6 }
7 }
8 }
Ausgabe:
Java:
$ java Test aa bb cc dd
args[0]="aa"
args[1]="bb"
args[2]="cc"
args[3]="dd"

Ich habe folgendes Programmbeispiel bekommen von unserem Dozenten. Wenn ich den Code jedoch compiliere und ausführe erhalte ich garkeine Ausgabe. Was mache ich da falsch?
 
Also der sollte doch da oben in so einem Fenster angezeigt werden? Bei mir ist er da, ich poste ihn mal nochmal einfach
Java:
1 /* Example: use of String[] args */
2 public class Test {
3 public static void main(String[] args) {  //habe versucht hier rumzuspielen um
                              //um sein Ergebnis zu erhalten. Hat aber nichts geklappt
4 for (int i = 0; i < args.length; i++) {
5 System.out.printf("args[%d]=\"%s\"%n", i, args[i]); //gibt mir hier nichtmal die String aus
6 }
7 }
8 }
 
Zuletzt bearbeitet:
Sicher steht er oben .... und macht auch genau das, was er soll 🙂
Deswegen die Frage nach Deinem Code, weil ich vermute, dass er eben nicht genau so ausschaut !!

Gruß Klaus

EDIT: hier noch mein Code, mit dem ichs getestet habe:
Java:
String[] args = {"aa", "bb", "cc", "dd" };
for( int i = 0; i < args.length; i++ )
{
     System.out.printf("args[%d]=\"%s\"%n", i, args[i]);
}

Ausgabe:
args[0]="aa"
args[1]="bb"
args[2]="cc"
args[3]="dd"
 
Sicher steht er oben .... und macht auch genau das, was er soll 🙂
Deswegen die Frage nach Deinem Code, weil ich vermute, dass er eben nicht genau so ausschaut !!

Gruß Klaus
hmm womöglich habe ich ja beim abtippen einen Fehler gemacht, ich probiere das gleich nochmal. Oder kann es sein das ich eine bestimmte Klasse noch importieren muss?
 
Hä das ist doch der Code den ich gepostet habe! Genau so habe ich das eingegeben in den Compiler und es kam nichts dabei raus! In deinem Code hast du die String elemente eben noch initialisiert was ich mir vorher auch schon dachte aber im Beispiel das ich hatte wurde das eben nicht gemacht und deswegen kam ich nicht weiter. Sieht man doch das bei mir das nicht initialisiert ist!!!
 
Ich dachte mir eben weil das Beispiel so war, dass dieses (String[] args), was als parameter in der Main Methode steht, womöglich irgendwie schon automatisch initialisiert ist.
 
nein (oder JA, nach Deinem letzten Post) 😀

Du initialisiert ja auch durch den Programmaufruf:

hier werden doch "aa bb cc dd" an args übergeben!
Ich habe es nur nicht als einzelnes Projekt gemacht !!
Du glaubst nicht um wieviel einfacher du mir gerade mein Leben gemacht hast! Ich wusste nicht das man durch den Programmaufruf überhaupt initialisieren kann. Ich dachte mir immer das die werte die nach diesem "$ Java Test ..." standen einfach nur veranschaulichen sollen womit gearbeitet wird oder sowas, beziehungsweise hatte ich garkeine Ahnung was das da überhaupt sollte. Danke dir vielmals 🙂)
 
Hehehe .... 🙂
Genau dafür args da - um beim Aufruf Argumente an das Programm übergeben zu können !!

Mit anderen Worten, Dein Aufruf war nur "java Test" ??

Gruß Klaus
 
Ja genau, das war mein Aufruf 🙄
also sind jedes mal beim Aufruf eines Programmes , die Werte die nach dem Klassennamen kommen, eine initialisierung für das Array das von args referenziert wird? Wahrscheinlich geht dies auch nur mit String Elementen, da es ja String[] args heißt.?
 

Zurück
Oben