Eindeutige Nummer (8 stellig) erzeugen

Java-Lord

Mitglied
Hallo zusammen,
ich möchte eine eindeutige Rechnungsnummer erzeugen, die 8 oder 10 stellig ist. Ich habe versucht mit randomUUID, aber das ist nicht das, was ich suche. Die Methode soll z.B. so eine Rechnungsnummer erzeugen: 57349720

Gibt es eine Java Klasse dafür?

Danke.
 

Robat

Top Contributor
Wie wäre es mit der Random Klasse:
Java:
Random rand = new Random();
int num = rand.nextInt(90000000) + 10000000;
Für 10 Stellen musst du die Zahlen entsprechend anpassen
 

stg

Top Contributor
Fang doch einfach bei 1 an zu zählen (und fülle ggfls mit Nullen vorne auf).
In Deutschland darf die Rechnungsnummer übrigens nicht einfach zufällig erzeugt sein, falls das für dich von Bedeutung sein mag...
 

Thallius

Top Contributor
Ich würde das Datum in die Rg Nummer einpflegen und zwar in der Form

20180301XXXX

die X sind dann eine hochzählende Nummer von 0001 - 9999. Wenn Du mit 1000 Rechnungen pro Tag nicht auskommst ist das natürlich schlecht aber ich denke das ist eher unwahrscheinlich.

Gruß

Claus
 

Java-Lord

Mitglied
Ich habe eine elegante Lösung gefunden:

try {
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
String rechnungsNr = new Integer(Math.abs(secureRandom.nextInt())).toString();
System.out.println("Rechnungsnummer = " + rechnungsNr );
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(DateHelper.class.getName()).log(Level.SEVERE, null, ex);
}

Ich danke Euch für die Antworten. :)
 

sascha-sphw

Top Contributor
Ich würde das Datum in die Rg Nummer einpflegen und zwar in der Form

20180301XXXX

die X sind dann eine hochzählende Nummer von 0001 - 9999. Wenn Du mit 1000 Rechnungen pro Tag nicht auskommst ist das natürlich schlecht aber ich denke das ist eher unwahrscheinlich.

Sehe ich auch so, bis auf einen Punkt. Sollten er mit 1000 Rechnungen pro Tag nicht auskommen ist das doch schön (€€€) :). Dann halt einfach ein X mehr.
 

Thallius

Top Contributor
Ich habe eine elegante Lösung gefunden:

try {
SecureRandom secureRandom = SecureRandom.getInstance("SHA1PRNG");
String rechnungsNr = new Integer(Math.abs(secureRandom.nextInt())).toString();
System.out.println("Rechnungsnummer = " + rechnungsNr );
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(DateHelper.class.getName()).log(Level.SEVERE, null, ex);
}

Ich danke Euch für die Antworten. :)

Und wie willst du da sicher sein dass die Rechnungsnummer wirklich nur einmal vergeben wird? Nur weil die Zahl zufällig ist heißt das ja noch lange nicht das sie eindeutig ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Eindeutige Elemente aus Array extrahieren Java Basics - Anfänger-Themen 9
I Eindeutige Stringvariablen in Schleife generieren Java Basics - Anfänger-Themen 4
E Eindeutige Identifikation eines Pcs? Java Basics - Anfänger-Themen 18
N Eindeutige Dateinamen generieren Java Basics - Anfänger-Themen 17
K Eindeutige Instanzen von einem Objekt Java Basics - Anfänger-Themen 13
H eindeutige Instanz erzeugen Java Basics - Anfänger-Themen 4
sserio Prüfziffer einer ISBN Nummer herrausfinden. Java Basics - Anfänger-Themen 14
A keine Ergebnisse - String nummer in array nummer converting Java Basics - Anfänger-Themen 1
S Nummer splitten Java Basics - Anfänger-Themen 2
M fortlaufende Nummer Java Basics - Anfänger-Themen 7
E ISBN Nummer mit boolean Java Basics - Anfänger-Themen 5
G nach 9 - stelliger Nummer suchen Java Basics - Anfänger-Themen 7
it_is_all For-Schleife - Dateinamen fortlaufende Nummer Java Basics - Anfänger-Themen 2
M Druck mit fortlaufende Nummer Java Basics - Anfänger-Themen 6
W Methode um Nummer zu überprüfen. Java Basics - Anfänger-Themen 5
M Unbekannte Nummer bei Aufruf der toString Methode Java Basics - Anfänger-Themen 3
O String name mit fortlaufender Nummer Java Basics - Anfänger-Themen 14
J OOP Vergebene Objekt Nummer abgleichen falls einer entfernt wird ? Java Basics - Anfänger-Themen 5
M automatische laufende Nummer erzeugen Java Basics - Anfänger-Themen 10
J Gültigkeit einer ISBN Nummer prüfen! Java Basics - Anfänger-Themen 5
G Datenbank über Nummer, Daten bekommen Java Basics - Anfänger-Themen 4
A Dateinamen mit laufender Nummer erzeugen! Wie? Java Basics - Anfänger-Themen 9
M Fortlaufende Nummer Java Basics - Anfänger-Themen 4
S Objekte mit laufender Nummer erzeugen Java Basics - Anfänger-Themen 3
W ISBN 13-Stellig Java Basics - Anfänger-Themen 3
S Random IDs immer 10-stellig? Wie? Java Basics - Anfänger-Themen 5
F von Byte zu 2 Stellig Hex Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben