# Arrays mit hilfe der Konsole füllen!!!



## marius87 (13. Mrz 2010)

ICh habe da ein Problem und sitze schon seit gestern dran. Ich glaube, dass die Lösung recht simple ist aber ich komm einfach nicht drauf... 
Ich habe ein Array das ich von der Konsole aus Füllen will...
Was bei mir rauskommt ist nicht das gewünschte Ergebnis...
Ich hoffe es kann sich jemand mein Quelltext anschauen und mir den ach so gewollten Tipp geben


```
import java.util.*;

class sort
{
    public static void main(String []args)
    {
        int i,j;
        
        Scanner sc=new Scanner(System.in);
        System.out.println("Wie viele Zahlen wollen Sie eingeben?");
        i=sc.nextInt();
        int [] Feld=new int [i];
        System.out.println("Nun geben Sie die zu sortierende Werte an:");
        for(int k=0; k<Feld.length;k++)
        {
            
            j=sc.nextInt();
            Arrays.fill(Feld,j);
            System.out.print(j+" ");   
        }
       
    }
}
```
hilfeeeee


----------



## eRaaaa (13. Mrz 2010)

Wieso benutzt du denn Arrays.fill? Arrays.fill füllt das komplette Array mit einer Zahl..d.h. am Ende ist das Array immer komplett mit der Zahl gefüllt die du zum Schluss eingibst...benutz doch einfach den Index von k ?
[c]Feld[k] = j;[/c]


----------



## marius87 (13. Mrz 2010)

Ich habe es auch schon so ausprobiert aber die Ausgabe bleibt dieselbe...
Ich will ein Feld mit i variablen ausgeben...
irgendetwas mach ich da immernoch falsch


----------



## marius87 (13. Mrz 2010)

Aber schon mal danke für die Schnelle hilfe


----------



## eRaaaa (13. Mrz 2010)

Wieso ausgeben? 
"System.out.println("Nun geben Sie die zu sortierende Werte an:");"

Du musst doch erst einmal das Array mit Werten füllen..oder etwa nicht?
Danach kannst du es dann ausgeben

```
int i, j;

	Scanner sc = new Scanner(System.in);
	System.out.println("Wie viele Zahlen wollen Sie eingeben?");
	i = sc.nextInt();
	int[] Feld = new int[i];
	System.out.println("Nun geben Sie die zu sortierende Werte an:");
	//Werte ins Array eintragen
	for (int k = 0; k < Feld.length; k++) {

	    j = sc.nextInt();
	    Feld[k] = j;
	}
	//Werte ausgeben
	System.out.println(Arrays.toString(Feld));
	
	//oder so:
	for (int k = 0; k < Feld.length; k++) {
	    System.out.print(Feld[k]+" ");
	}
	
	//oder
	for (int k : Feld) {
	    System.out.print(k+" ");
	}
```

oder eben beides in einem Abwasch...?


----------



## marius87 (13. Mrz 2010)

Habe mir zwei deiner drei Lösungen angeschaut und bin dir echt dankbar..
den Arrays.toString() Befehl kannte ich bis jetzt garnicht... habe ich da etwas zu beachten?
Kann ich z.B. den Befehl auch mit char benutzen?


----------



## eRaaaa (13. Mrz 2010)

http://java.sun.com/javase/6/docs/api/java/util/Arrays.html#toString(char[])


----------



## marius87 (13. Mrz 2010)

Dankeeeeeeee


----------

