# Integer Zahlen generieren



## Houly (19. Mrz 2009)

Hallo,

habe schon etwas gesucht, über die Boardsuche und mir ein paar Hinweise geholt,
aber dennoch ein paar Fragen.

Ich möchte ein Programm schreiben wo 6 Integer Zahlen generiert werden der Benutzer dann einen Sortieralgorithmus auswählt um seine Zahlen zu sortieren lassen.
Diese sollen dann ausgegeben werden.
Es handelt sich um Bubble, Selection und Insertion Sort. Erfolgt über ein Auswahl
Menü (switch-case) was dann die jeweilige Methode des Sortierverfahren aufruft. 
Mein Problem besteht darin wie ich die Zahlengenerierung realisiere. Meine Frage wie generiert man 6 Int Random Zahlen und gibt Sie nach der Fallauswahl an die Methode und wieder zurück? Sollte ja über ein Array passieren der gefüllt wird mit Zahlen und diese an den Sortieralgorithmus gibt und dieser Sie dann ausgibt.

Gruß


----------



## Wildcard (19. Mrz 2009)

Dafür gibt es die Klasse Random


----------



## Houly (19. Mrz 2009)

Wildcard hat gesagt.:


> Dafür gibt es die Klasse Random



Danke für die fixe Antwort, aber ich wollte das Programm eig. innerhalb einer Klasse nur schreiben.


----------



## ARadauer (19. Mrz 2009)

ja und in der Klasse benutzt du Random.
Random rnd = new Random();
rnd.nextInt(5)+1 //glaub ich...


----------



## ARadauer (19. Mrz 2009)

```
import java.util.Random;

public class Test {
	public static void main ( String [] args ){
		Random rnd = new Random();
		int[] zahlen = new int[622];
		
		for(int i = 0 ; i < zahlen.length; i++)
			zahlen[i] = rnd.nextInt(6)+1;
		
		for(int i = 0 ; i < zahlen.length; i++)
			System.out.println(i+". "+zahlen[i]);
	} 
}
```


----------



## Houly (19. Mrz 2009)

Danke für deinen Beitrag.
Ich hab nur noch ein kleines Problem.
Ich möchte 6 Zahlen eingeben und diese in das feld speichern.
Der Index des Feldes wird dann in einer Methode wieder aufgerufen, nur wie übergeb ich meine eingegeben Werte an das Array? Ich hab ja nun ein Array deklariert und die größe festgelegt. Tut mir leid, programmiere noch nicht lange!

Für die Tastatur Eingabe rufe ich eine Extra Klasse TastaturEingabe.java auf
Das ganze hatte ich mir so vorgestellt, aber es geht nicht ganz.

[HIGHLIGHT="Java"]
int[] zahlen = new int[6];
zahlen = TastaturEingabe.readInteger("Bitte geben Sie 6 Zahlen ein: ");
[/HIGHLIGHT]

Edit: Hm jetzt vermurks ich iwie was -.- Kann ja kein array erzeugen wenn die zahlen erst danach eingegeben werden.


----------



## Marco13 (19. Mrz 2009)

```
for(int i = 0 ; i < zahlen.length; i++)
{
    zahlen[i] = TastaturEingabe.readInteger("Bitte geben Sie die "+i+".te Zahl ein: ");
}
```


----------



## Houly (22. Mrz 2009)

Danke nochmal.
Habe es wiefolgt umgesetzt...

[HIGHLIGHT="Java"]
        // Abfrage für die Anzahl der Zahlen
        a = TastaturEingabe.readInteger("Wieviele Zahlen moechten Sie eingeben: ");
        int[] zahlen = new int[a];


        // Eingabe der Zahlen
        for(int i=0; i < zahlen.length; i++) {
            zahlen_ = TastaturEingabe.readInteger("Geben Sie ihre " +i+ " Zahl ein: ");
        }
[/HIGHLIGHT]

Somit kann man auch beliebig viele Zahlen eingeben!_


----------



## Spacerat (22. Mrz 2009)

Bin mir grad' nicht sicher... Ihr seid nicht zufällig Klassen-Kammeraden?
http://www.java-forum.org/java-basics-anfaenger-themen/80195-warum-funzt-prozedur-nicht.html


----------



## Houly (23. Mrz 2009)

Spacerat hat gesagt.:


> Bin mir grad' nicht sicher... Ihr seid nicht zufällig Klassen-Kammeraden?
> http://www.java-forum.org/java-basics-anfaenger-themen/80195-warum-funzt-prozedur-nicht.html



Weiß ich nicht, aber aus Österreich is niemand in mein Kurs.
Habe bezüglich des Topics nochmal mein Code geändert und mich wiefolgt darauf geeinigt das man angeben kann wieviel Zahlen sortiert werden und diese Anzahl dann genreriert wird. Hier der Code für den Teil:

[HIGHLIGHT="Java"]
int a;
        // Abfrage für die Anzahl der zu sortierenden Zahlen
        a = TastaturEingabe.readInteger("Wieviele Zahlen moechten Sie sortieren: ");
        int[] zahlen = new int[a];


        // Generieren der Zahlen
        Random rnd = new Random();

        for(int i=0; i < zahlen.length; i++) 
            zahlen_ = rnd.nextInt(a)+1;

        for(int i = 0 ; i < zahlen.length; i++)
			System.out.println(i+") "+zahlen);
[/HIGHLIGHT]_


----------



## Sempah (23. Mrz 2009)

// mein fehler. Kann gelöscht werden

Bzw. 
Ich weiß ja nicht ob es so gewollt ist, aber mir fällt auf, dass du den Zufallsbereich abhängig von der Benutzereingabe machst.


----------



## Houly (24. Mrz 2009)

Sempah hat gesagt.:


> Bzw.
> Ich weiß ja nicht ob es so gewollt ist, aber mir fällt auf, dass du den Zufallsbereich abhängig von der Benutzereingabe machst.



Jop, hab ich schon bemerkt  Hab es auf Zahlen zw. 0-100 beschränkt!

Gruß


----------

