Namen-Begrüßung Kommandozeilenparameter

Wie funktioniert das mit dem Kommandozeilenparameter? Muss man den extra ins Programm schreiben oder ist der schon im Terminal integriert?

Schreiben Sie ein Programm namens Hello.java, welches per Kommandozeilenparameter einen
oder mehrere Namen übergeben bekommt und jeweils eine individuelle Begrüung ausgibt.
Falls kein Kommandozeilenparameter übergeben wurde, so soll das Programm eine entsprechende
Fehlermeldung ausgeben.
 
Die Kommandozeilenparameter werden in der main Methode übergeben:

Java:
public static void main(String[] args) { ... }
Startest du dein Programm so:
Code:
java DeinProg hallo welt
würde folgendes in args stehen:
args[0] = "hallo", args[1] = "welt"
 
Java:
public static void main(String[] args){}
args sind hier die Übergebenen Parameter.

Diese werden normalerweise übergeben, wenn man die Klasse aufruft :
Z.B. wenn man die Klasse über die Konsole startet:
>Java MeineTestKlasse "Wert1" "Wert2"

Damit hättest du dann in args den Inhalt "Wert1" und "Wert2"

*Edit* Zuspät^^
 
Die Kommandozeilenparameter werden in der main Methode übergeben:

Java:
public static void main(String[] args) { ... }
Startest du dein Programm so:
Code:
java DeinProg hallo welt
würde folgendes in args stehen:
args[0] = "hallo", args[1] = "welt"

Nach dem Motto Name1 begrüße ich mit "hallo", Name2 mit "welt", Name3 wieder mit "hallo",...?
 
Er soll ja nicht jedes mal die gleiche Begrüßung ausgeben 😉
Java:
List<String> begruessungsListe = new ArrayList<String>();
begruessungsListe .add("Hallo");
begruessungsListe .add("Willkommen");
.... // noch mehr einfügen

Random random = new Random(0);
for(String name : args)
{
  System.out.println(begruessungsListe.get(random.nextInt(begruessungsListe.size()))" " + name);
}

So könnte man da auch machen.
 
Danke für die Hilfe, hier übrigens die Lösung:

Java:
public class Hello{
   public static void main (String[] args){
      if (args.length > 0) {
         for (int i=0; i<args.length; i++) {
            System.out.println("Hello " + args[i] + "!");
         }
      } else {
         System.err.println("Kommandozeilenparameter fehlt!");
         System.exit(1);
      }
   }
}
 

Zurück
Oben