www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Java" - java.util.Random
java.util.Random < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

java.util.Random: Rueckfrage
Status: (Frage) beantwortet Status 
Datum: 15:33 Fr 02.01.2009
Autor: rbsn

Aufgabe
Damit wir etwas sortieren können, brauchen wir unsortierte Daten. Leiten Sie von der
generischen Klasse java.util.LinkedList<E> eine Klasse RandomLinkedList
ab, die ausschließlich Integer Objekte speichert. Der Aufruf des einzigen Konstruktors
RandomLinkedList(int length) soll eine Liste der Länge length mit zufälligen
Integers erstellen. Benutzen Sie dazu java.util.Random mit dem Seed 1337.

Hallo,

ich habe obige Aufgabe bereits implementiert, bin mir aber gar nicht sicher ob das stimmt.

Hier der Code:

import java.util.Random;
import java.util.LinkedList;

public class RandomLinkedList<E> extends java.util.LinkedList<E>{
LinkedList<Integer> liste;

public RandomLinkedList(int length){
liste = new LinkedList<Integer>();
Random rnd = new Random(1337);

for(int i = 0; i < length; i++){
liste.add((Integer)(rnd.nextInt()));

}


}

}


Wenn ich nun aber mit

public static void main(String[] args){

RandomLinkedList<Integer> a = new RandomLinkedList<Integer>(20);
RandomLinkedList<Integer> b = new RandomLinkedList<Integer>(20);
System.out.println(a.liste);
System.out.println(b.liste);

}

zwei verschiedene Listen, mit zufaelligen Werten anlege, dann kommen beides male die gleiche Liste raus. Ist das wirklich so oder habe ich irgendwo einen Fehler gemacht???

Vielen Dank schonmal...

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
java.util.Random: Antwort
Status: (Antwort) fertig Status 
Datum: 15:56 Fr 02.01.2009
Autor: Nilandula

Ja, das Verhalten ist richtig. Da du den Seed setzt wird immer die gleiche Reihe von Zufallszahlen erzeugt.

Daran erkennst du, dass die Zufallszahlen nicht wirklich zufällig sind, sondern aufgrund des Seed berechnet werden. Wenn du zwei verschiedene Reihen haben möchtest, dann nehme einfach mal den Random Standardkonstruktor ohne Parameter. Dann holt sich Random den Seed aus den Millisekunden der Systemuhr und du hast zu jedem Uafruf tatsächlich verschiedene, zufällig aussehende Zahlen

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]