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. Zitieren
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 Zitieren
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. Zitieren
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? Zitieren
Huba Geschrieben 12. Oktober 2012 Autor Geschrieben 12. Oktober 2012 achso hmm okey danke schön:) Zitieren
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 Zitieren
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. Zitieren
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; } Zitieren
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 Zitieren
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) Zitieren
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 Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.