# Eine kleine Frage bzw kleine Theorie frage String[arg]



## math.iso@live.de (20. Nov 2008)

Es geht um folgendes

:
Was versteht man unter der Klammer bei java

public static void main (String[arg]) ...String[arg]..?

und unter arg[0]? arg[1]?arg[2]?

hab im internet nach diesem befehl gesucht bzw nach seiner Bedeutung ,aber naja..ich hoffe ihr könnt mir helfen


----------



## André Uhres (20. Nov 2008)

http://java.sun.com/docs/books/tutorial/java/nutsandbolts/arrays.html


----------



## Templon (20. Nov 2008)

math.iso@live.de hat gesagt.:
			
		

> Es geht um folgendes
> 
> :
> Was versteht man unter der Klammer bei java
> ...





```
String[arg]
```

Würde ein Kompilierfehler geben.


```
String[] arg
```

Passt schon eher =) Das ist ein String Array. 
Mit arg[x] greifst du auf das x'te Element dieses Arrays zu.


http://www.saar.de/~awa/jarray.htm


----------



## math.iso@live.de (21. Nov 2008)

warum liefert der Programm nichts aus..?

gibt es von eine kurze begründung  von euch warum..?




```
class Test {      public static void main(String[] args) {          if (args[0].equals("Peter")) {              if (args[1].equals("jemand")) {                  System.out.println("Hallo");              } else {                  System.out.println("Hau ab "+ args[1]);              }          }      }  }
```


----------



## Guest (21. Nov 2008)

math.iso@live.de hat gesagt.:
			
		

> warum liefert der Programm nichts aus..?



Weil das erste Argument nicht "Peter" hieß.

Wenn du den Quelltext ordentlich einrücken würdest siehst du warum


```
class Test {      
	public static void main(String[] args) {          
		if (args[0].equals("Peter")) {              
			if (args[1].equals("jemand")) {                  
				System.out.println("Hallo");              
			} 
			else {                  
				System.out.println("Hau ab "+ args[1]);              
			}          
		}     
	} 
}
```


----------



## kraton79 (21. Nov 2008)

```
public static void main(String[] args)
{ 
   //tue dies;
   //tue das;
   //...
}
```

Mit dem Parameter String[] args wird ausgedrückt, dass der main-Methode beliebig viele String-Argumente übergeben werden dürfen, die dann innerhalb der Methode über ein Array ansprechbar sind. Zum Beispiel könntest du innerhalb der main-Methode einen Block definieren, der eine "abgespeckte" Version deines Programms ausführt:


```
public static void main(String[] args)
{ 
   if (args[0].equals("testlauf"))
   {
      //tue nur das;
   }
   else

   //tue dies;
   //tue das;
   //...
}
```

Den "Testlauf" könntest du dann z.B. über die Eingabeaufforderung so starten: java MyClass "testlauf".

Ich weiß allerdings nicht genau, ob das deine Frage war...

Grüße,

Kraton79


----------



## math.iso@live.de (21. Nov 2008)

danke für die letzten beide einträge ,ihr habt mir geholfen [/code]


----------

