Huba Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Guten Morgen, Ich lerne momentan java und habe eine Aufgabe bekommen, bei der ich Konten und Kunden erstellen soll. Ich habe jetzt eine methode zur Kundenerstellung. So sieht momentan mein aufruf aus und die Methode: bank.erstelleKunde(321232, "Marcel", "Mustermann"); // als beispiel methode: public void erstelleKunde(int kundenNummer, String vName, String name) { Kunde kunde = new Kunde(); kunde.setKundenNummer(kundenNummer); kunde.setKundenVorname(vName); kunde.setKundenName(name); kunden.add(kunde); // hinzufügen einer arrayliste } Meine Frage: Wie kann ich eine zufällige Kundennummer zuweisen, sagen wir mal die 8 stellen lang ist und die nicht doppelt verteielt wird, wenn ich die Methode mehrmals aufrufe. Also wie gesagt ich lerne noch :S.
SynonymOfGod Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Math.random(), Zufallszahlen in Java | ROAE-Blog durch deine arraylist iterieren gucken ob zufallszahl schon vorhanden ist, wenn ja dann neue randomzahl erstellen, wenn nein dann diese nehmen
Dragon8 Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Eine zufällige Zahl kannst du dir entweder mit der Methode Math.random() berechnen, oder, wenn es wie in deinem Fall öfters vorkommen kann, über ein Random Objekt. Entweder du lässt dir mit den Methoden sofort eine bis zu 8-stellige Zahl errechnen, dann kann es aber auch vorkommen, dass die Zahl weniger als 8 Stellen hat. Oder die erzeugst dir 8 zufällige Zahlen, und setzt die dann zusammen. Bevor du diese Zahl dann natürlich einem Kunden zuweist, musst du überprüfen ob diese noch nicht benutzt wurde. Entweder gehst du dafür alle Kunden durch und vergleichst die Nummern. Oder du wechselt, ich denke mal Liste, gegen eine Map mit der Kundennummer als Schlüssel und dem Kundenobjekt als Wert aus. Die Map besitzt schon Methoden um zu Überprüfen ob ein bestimmter Key, in deinem Fall die Kundennummer, schon vorhanden ist.
Huba Geschrieben 12. Oktober 2012 Autor Geschrieben 12. Oktober 2012 ok Math.random(), für die zufallszahlen und dann meiner liste hinzufügen und wenn schon verhanden ist dann neue randomzahl.... ich glaube das hab ich verstanden aber wie sag ich ihn das diese zahl 5 oder 8 stellig sein soll und nicht eine normale zahl wie 12 oder 14 kommt?
Dragon8 Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 ich glaube das hab ich verstanden aber wie sag ich ihn das diese zahl 5 oder 8 stellig sein soll und nicht eine normale zahl wie 12 oder 14 kommt? Das erklärt der Link von SynonymOfGod
Huba Geschrieben 12. Oktober 2012 Autor Geschrieben 12. Oktober 2012 Und was für eine Map meinst du genau? Ich hatte mal was mit einer Hashmap gesehen aber auch noch nicht wirklich mit beschäftigt.
SynonymOfGod Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 ok Math.random(), für die zufallszahlen und dann meiner liste hinzufügen und wenn schon verhanden ist dann neue randomzahl.... ich glaube das hab ich verstanden aber wie sag ich ihn das diese zahl 5 oder 8 stellig sein soll und nicht eine normale zahl wie 12 oder 14 kommt? public static double myRandom(double low, double high) { return Math.random() * (high - low) + low; }
Huba Geschrieben 12. Oktober 2012 Autor Geschrieben 12. Oktober 2012 ok, danke für eure Hilfe, ich denke das sollte auch reichen um mich damit auseinander zu setzen. :uli
Dragon8 Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Wenn du bei mir im Text auf dem Link hinter der Map klickst, bekommst du die Java Dokumentation der HashMap zu sehen. Wenn du bisher damit noch nicht zu tun hattest, wäre es vielleicht am besten, wenn du dir von Oracle erstmal das Tutorial zu den Collections durchliest. In deinem Fall dann vor allem die Abschnitte über das Map Interface und deren Implementierungen. Lesson: Introduction to Collections (The Javaâ„¢ Tutorials > Collections)
SynonymOfGod Geschrieben 12. Oktober 2012 Geschrieben 12. Oktober 2012 Und was für eine Map meinst du genau? Ich hatte mal was mit einer Hashmap gesehen aber auch noch nicht wirklich mit beschäftigt. Maps
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden