Java programmieren mit zufälliger Zahl?

5 Antworten

Ich verstehe leider das Problem nicht.

Ein online Shop würde wahrscheinlich die Datenbank die Kunden ID bestimmen lassen. Da gibt es ja inkrementelle IDs.

Wenn du eine zufällige ID wählst musst du dennoch prüfen, ob sie schon in der DB vorhanden ist. Kann ja zwei mal zufällig die gleiche sein.

ich verstehe nicht wie du das mit der Polymorphie meinst. Also was das Problem mit der Vererbten Klasse ist.

6

Ich hab leider keine Ahnung wie das gehen soll. Hab Informatik erst seit diesem Jahr intensiv, und ich glaub du meinst was anderes. Das was wir machen ist mit BlueJ im Klassen Modell. Also ganz primitiv nach dem Klasse, Konstruktor, Methoden Muster. Vergleichbar mit nem Kompositum

0
1
@kkkevkkk

Okay. Wenn du einen neuen Kunden in die Datenbank schreibst, dann gibt dir die Datenbank doch den Primärschlussel zurück. Den kannst du als Kindennummer verwenden.

Oder benutzt ihr keine Datenbank im Sinne von SQL?

0

Hallo kkkevkkk,

wenn es nicht unbedingt Ganzzahlen als IDs sein müssen, dann kannst Du dir mal UUID ansehen. UUIDs werden auch tatsächlich in freier Wildbahn verwendet. Unter anderem deshalb, weil man aus einer UUID nicht schließen kann, wie groß der Kundenstamm ist.

java.util.UUID customerId = java.util.UUID.randomUUID();

Der Vorteil ist, dass es bei zufällig erzeugten UUIDs praktisch niemals zu einer Kollision kommen wird. Siehe https://de.wikipedia.org/wiki/Universally_Unique_Identifier

Ansonsten würde man eine Ganzzahl ID von der Datenbank erzeugen lassen und nicht von der Applikation.

Willst Du unbedingt Ganzzahlen verwenden und zufällige Zahlen? Dann würde ich eine Zufallszahl erzeugen und eine Datenbankabfrage starten, ob die Zahl schon verwendet wird. Das Erzeugen und Überprüfen muss dann so lange wiederholt werden, bis Du eine ID hast, die noch nicht verwendet wurde. Macht sicherlich wenig Sinn.

Gruß

sondern in dem Knotenpunkt eine neue Zufallszahl bestimmt, an dem es die vorherige gefunden hat. 

Ich verstehe nicht was du hiermit sagen willst, aber Zufallszahlen (z.B. zwischen 0-1000) machst du mit

(int)(Math.random() * 1000)

Das Überprüfen, ob es die Zahl schon gibt ist aber nicht das Problem, oder? Das ist ja nicht so schwierig.

Spaghetti-Code und ich weiß nicht weiter :-(?

Hi, stehe relativ am Anfang von Java Programmierung. Mein erstes erfolgreiches Programm soll eine zufällige Zahlenkombination in folgendem Format ausspucken XXXX-XXXX-XXXX (sprich 12 zahlen, nach jeweils 4 Zahlen erfolgt eine Trennung per Bindestrich). Wie setze ich diesen Code um? Ich hatte mehrere Ideen,.. Schleifen wie die For-Schleife mit einer If-Bedingung da bei mir 12x die selbe Zufallszahl ausgegeben wurde und Methoden. Kann mir da jemand helfen..?

...zur Frage

Kann mein Computer echtes Zufallszahl Generieren?

Hallo. Also ich wollte euch fragen ob mein Computer echtes Zufallszahlen generieren kann, also ob da ein Hardware im Prozessor verbaut ist wo man echtes Zufallszahl Generieren kann. Ich habe gerade ein Intel Xeon Prozessor, mit 8 GB RAM. Und ich habe irgendwo gelesen das alle Moderne Rechner echtes Zufällige Zahl Generieren können. Und habe ein frage ob mein Computer auch echtes Zufällige Zahl generieren kann.

...zur Frage

Java Zahlenspiel programmieren "sehr simple"?

Ich brauche Hilfe bei folgendem Code und Aufgabe die im Code steht.
Am besten für jede Variante ein Beispiel der ersten Zahl 1 von 9. Wäre sehr dankbar für die Hilfe, um das ganze mehr nachvollziehen zu können.

public class Zahlenspiel{
.....
}
public String zahltext_mit_if(int i) {
   String wert="";
   /* Eingabe int wert */
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahltext_mit_case(int i) {
   String wert="";
   /* Eingabe int wert */
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahltext_mit_eingebaut(Integer i) {
   String wert="";
   /* Eingabe int wert */
   i.toString();
   // Es soll der einstellige Zahlenwert als ausgeschriebene Zahl zurückgegeben werden
   return wert;
}
public String zahl_gleich_5(Integer i) {
   String wert="";
   /* Eingabe Integer wert */
   // Es soll das Wort Juchhu ausgeben werden wenn i gleich 5 ist, ansonsten die Zahl als wort;
   return wert;
}
public int string_zu_zahl(String zahl) {
   // Hier soll aus dem String zahl ein int ausgegeben werden, 0 wenn keine Zahl eingegeben wurde
   return 0;
}
public void grafzahl() {
   // In einer for i schleife von 10 auf 0 , und bei auch ein Grafzahl ausgeben
}
...zur Frage

Wie funktioniert Math.random() in Java?

Math.random() erzeugt eine "zufällige" Zahl zwischen 0 und 1. Aber wie genau wird diese erzeugt. Habe dazu im Internet noch nichts gefunden.

Ich wäre über einen Link dankbar, in dem der Algorithmus erklärt wird, bzw. wie man den Wert vorhersagen kann.

...zur Frage

Wie kann ein JOptionPane mit Int benutzen?

Hallo, ich komme wieder mal mit einer "typisch-Anfänger-Frage"

Also wie kann ich bei meinem Code hier den JOptionPane zum int machen?:

Und wenn nein, wie kann ich das dann mit JOoptionPane ändern?

String zufallszahl =
        JOptionPane.showInputDialog("Bitte eine Zahl zwischen eins und zehn eingeben.");
                    
                if (
                        
                        (
                                (zufallszahl.equals(randomNumber)) //&&
                                
                            
                    )
...zur Frage

Java Projekte zum lernen?

Hi, ich möchte mein wissen wie ich meine Java Kenntnisse erweitern kann. Bisher kann ich ein wenig mit arrays, Java Swing, schleifen, und Mathe Operatoren arbeiten. (Grundkenntnisse sind glaube ich weitestgehend vorhanden) ich würde gerne Projekte haben, wo ich viele Elemente kombinieren muss, und halt immer ein, zwei neue Elemente so kennenlerne. Habt ihr paar Anfänger Projekte, die hilfreich wären? Habe bisher eine bank also wo man Konten erstellen etc. Programmiert( auch mit gui) dann bin ich derzeit dabei für die schule ein kopfrechentest zu programmieren.

...zur Frage

Was möchtest Du wissen?