# zahlenfolge einlesen und in array umwandeln



## BlackSalad (24. Sep 2011)

Hi,

also ich will eigentlich einen Zahlensortierer schreiben, was aber nur sekundär ist für mein Problem.

Mir geht es darum, dass der benutzer vor dem Programmstart eine beliebige zahlenfolge eingeben kann und ich diese dann in einem array speichere. 

Hab aber irgendwie grad absolut keine Idee dazu.

Würd mich über Hilfe freuen


----------



## Gast2 (24. Sep 2011)

Möglichkeit 1: Array
Dazu musst du allerdings im vornherein wissen wieviele Zahlen der User eingibt.

Möglichkeit 2: Liste
Da ist es erstmal egal wieviele Zahlen der User eingibt.

Bei beiden Varianten musst du mit ner Schleife solange Zahlen einlesen bis der User entweder "stop" sagt (z.b. indem er -1 eingibt) oder er eine bestimmte Anzahl von Zahlen eingegeben hat (im Fall 1).


----------



## XHelp (24. Sep 2011)

BlackSalad hat gesagt.:


> dass der benutzer *vor* dem Programmstart eine beliebige zahlenfolge eingeben kann


Was genau meinst du damit? Dass die Zahlen in einer Datei stehen? Oder dass die als Parameter beim Start mitübergeben werden?


----------



## BlackSalad (24. Sep 2011)

danke.

ich meine,dass die Zahlen beim start  mitübergeben werden. 


@Eike: Okay, ich dachte es würde ohen Liste gehen, weil ich soweit in Java noch nicht bin, aber dann nehme ich halt eine feste anzahl von zahlen. 

Danke!


----------



## XHelp (24. Sep 2011)

BlackSalad hat gesagt.:


> ich meine,dass die Zahlen beim start  mitübergeben werden.


Dann sind Kommandozeilenparameter das richtige Stichwort: Galileo Computing :: Java ist auch eine Insel – 3.8 Der Einstiegspunkt für das Laufzeitsystem: »main()«


----------



## Gast2 (24. Sep 2011)

> ich meine,dass die Zahlen beim start mitübergeben werden.


Sollen die Zahlen jetzt vom User eingegeben werden oder sollen die beim Start mitübergeben werden? Das sind zwei verschiedene Sachen.


----------



## BlackSalad (24. Sep 2011)

also ich weiß ned wo der unterschied liegt, sie sollen halt einfach eingegeben werden bevor das programm startet. Beispielsweise beim Eclipse als Argumente. 


Ich habe jetzt hier mal etwas konstruiiert. Damit soll die Zahlenfolge in ein array gepackt werden und dann mit System.out.print wieder ausgegeben werden. 
Dabei hab ich mir gedacht, dass nach der zahlenfolge eine 0 übergeben wird um das ende der einzufügenden zahlenreihe zu simulieren.

Aber irgendwie funktioniert es nicht so wie ichs gern hätte.




```
public class Mische {
	public static void main(String[] args){
		int i=0;
		int[] array = new int[2];
		while (array[0]!=0){
			    array[i] = Integer.parseInt(args[i]);
			     
			    i++;
			    System.out.print(array[i]);
		}
	}

}
```


----------



## Gast2 (24. Sep 2011)

> Dabei hab ich mir gedacht, dass nach der zahlenfolge eine 0 übergeben wird um das ende der einzufügenden zahlenreihe zu simulieren.


Die 0 brauchst du in dem Fall nicht, du weißt ja wielang das Array ist dass dir beim Start übergeben wird.

Deinen Code kann man auch etwas einfacher schreiben:

```
public static void main(String[] args) {
		int[] numbers = new int[args.length];
		
		// Einlesen
		for (int i = 0; i < args.length; i++) {
			numbers[i] = Integer.parseInt(args[i]);
		}
		
		// Ausgabe
		for (int i : numbers) {
			System.out.println(i);
		}
	}
```


----------

