Zufallszahl funktioniert nicht

Javafan21

Mitglied
Sehr geehrte Mitglieder des Java-Forums,
führe ich folgendes Programm durch,

Java:
public class Beispiel {
public static void main(String[]args) {
  int i = (int)Math.random() *10;
  System.out.println(i);
}
}

so erhalte ich immer 0 als Ausgabe. Wie kann ich dies fixen?
Vielen Dank schon mal im Voraus
Mit freundlichen Grüßen
Javafan21
 
Zuletzt bearbeitet von einem Moderator:

httpdigest

Top Contributor
Der untere Teil mit "@SuppressWarning("all")public class Love{...}" ist seine Signatur und nicht Teil der eigentlichen Antwort.
Du sollst halt einfach statt:
Java:
int i = (int)Math.random() *10;
das hier schreiben:
Java:
int i = (int)(Math.random() *10);
 

QU3LLC0D3

Mitglied
man könnte ihm das natürlich auch genau erklären - dafür ist dieses Forum doch da, oder?

Math.random liefert einen Zufallswert zwischen 0.0 und 0.9. In deinem Beispiel castest du das nun den Zufallswert von einem Double auf einen Integer was bedeutet, dass er einfach alle Ziffern nach dem Kommata abschneidet. Das Ergebnis deiner Rechnung ist somit immer 0 x 10 und das ergibt nun mal immer 0.

Weil:
0.0 = 0 *10 = 0
0.1 = 0 *10 = 0
0.2 = 0 *10 = 0
0.3 = 0 *10 = 0
...
0.9 = 0 *10 = 0

Wie die anderen aber bereits völlig richtig geschrieben haben, kannst du natürlich den Cast auf den kompletten Ausdruck anwenden.

int i = (int) Math.random() *10; -> int i = (int)(Math.random() *10);
 

QU3LLC0D3

Mitglied
Natürlich. Jeder darf seine Zeit hier so verschwenden, wie er/sie es für richtig hält.

Wir müssen hier keine Grundsatzdiskussion führen. Falls in Zukunft jemand dieses Problem hat, danach googled und hier auf der Seite landet, er eben keine für sich zufriedenstellende Lösung erhalten und einen neuen Thread starten wird. Dort beschweren sich dann wieder alle anderen, warum man denn die Forensuche nicht genutzt hat weil das Thema ja schon x-mal behandelt wurde, usw... manchmal ist es eben nicht so wie es auf den ersten Blick zu sein scheint und eben keine Zeitverschwendung.
 

httpdigest

Top Contributor
Wenn du glaubst, dass es hier Defizite in den Antworten gibt, dann schreib halt einfach eine bessere Antwort, aber bitte nicht mit irgendeinem Unterton im Sinne von "warum habt ihr das hier nicht schon lange so erklärt, ...okay, dann mach ich das mal."
Niemand unterliegt hier irgendeiner Obligation, qualitativ hochwertige Antworten zu schreiben, zumal die Qualität einer Antwort eben im Sinne des Betrachters liegt.
 
X

Xyz1

Gast
Man könnte natürlich noch viel genauer und ausdifferenzierter in der Antwort werden. Oder @looparda s Ansatz verfolgen: Funktioniert das? Nein. Funktioniert das? Nein. ... Bis es doch mal richtig ist. Oder meinen operativ- bzw. @QU3LLC0D3 s deklarativ-beschreibenden Ansatz verfolgen. Nur nützt das dem TE alles nichts, wenn ihm das nicht mehr interessiert. Nur für nachfolgende Besucher welche sich möglicherweise hierher verirren wäre das des Durchlesens wert.
 

Neumi5694

Top Contributor
Noch ein klein wenig Klugsch..erei
Mit diesem Code wird's etwas leserlicher, die Methode macht genau das, was du manuell gemacht hast:
Java:
new Random().nextInt(10);

Wenn du mehrere Zufallszahlen brauchst, empfiehlt es sich, nur eine Instanz von Random() zu erzeugen.
Falls du bei jedem Testlauf die gleiche Zahlenfolge haben willst, dann übergib Random als Parameter immer den gleichen Long-Wert (Standardmäßig holt es sich den Wert aus System.currentTimeMillis, ist also immer anders).
 

Neumi5694

Top Contributor
Es ging hier doch nicht um Schönheit :oops: sondern nur darum warum genau ein bestimmter Fehler auftritt. ;)
Ich denke, die meisten sind daran interessiert, dass das Programm funktioniert. Der Titel "Zufallszahl funktioniert nicht" klingt zumindest danach, als ob es ihm darum ging, dass die Zufallszahl funktionieren sollte. Ich kann mich natürlich auch täuschen.

Aber wie gesagt ... "Noch ein klein wenig Klugsch...erei". Das war nur noch ein kleiner Anhang, wie man's etwas eleganter hinkriegen kann.
 

Javafan21

Mitglied
Ich denke, die meisten sind daran interessiert, dass das Programm funktioniert. Der Titel "Zufallszahl funktioniert nicht" klingt zumindest danach, als ob es ihm darum ging, dass die Zufallszahl funktionieren sollte. Ich kann mich natürlich auch täuschen.

Aber wie gesagt ... "Noch ein klein wenig Klugsch...erei". Das war nur noch ein kleiner Anhang, wie man's etwas eleganter hinkriegen kann.
Ja, ich wollte, dass es funktioniert.
Vielen Dank!
 

ARadauer

Top Contributor
Alles Blödsinn, so geht das richtig:
Java:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;


class RandNum
{
    public static void main(String[] args)
    {
        System.out.println("Your random number is: " + getRandomNumber(1, 10));
    }

    public static int getRandomNumber(int min, int max)
    {
        try
        {
            String url =
                "http://www.random.org/integers/?num=1&min=" + min + "&max=" + max + "&col=1&base=10&format=plain&rnd=new";
            BufferedReader in = new BufferedReader(new InputStreamReader(new URL(url).openStream()));
            String randNumber = in.readLine();
            in.close();
            return Integer.parseInt(randNumber);
        }
        catch (Exception e)
        {
            return 42;
        }
    }
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Zufallszahl generieren mit einer linken und rechten Grenze Java Basics - Anfänger-Themen 3
J for Schleife kleinste Zufallszahl finden Java Basics - Anfänger-Themen 25
S Zufallszahl mit Wahrscheinlichkeit Java Basics - Anfänger-Themen 13
brypa Zufallszahl Java Basics - Anfänger-Themen 9
C Zufallszahl + Werte bereich einstellen Java Basics - Anfänger-Themen 2
N Bereich Zufallszahl bestimmen (50 und 100 / 80 und 90) Java Basics - Anfänger-Themen 2
E Zufallszahl mit Wahrscheinlichkeit Java Basics - Anfänger-Themen 4
T Random soll Zufallszahl beibehalten. Java Basics - Anfänger-Themen 11
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
D Zufallszahl zwischen 10 und 99? Java Basics - Anfänger-Themen 5
M Vierstellige Zufallszahl Java Basics - Anfänger-Themen 3
B Methoden Per Buttonklick eine Zufallszahl in ein Numberfield geben Java Basics - Anfänger-Themen 2
S Zufallszahl-Generatoren (Schnittstellen) Java Basics - Anfänger-Themen 14
S Zufallszahl (Statische Attribute und Methoden) Java Basics - Anfänger-Themen 10
M Erste Schritte Zufallszahl Spiel Problem Java Basics - Anfänger-Themen 7
N Zufallszahl beim Eintragen Java Basics - Anfänger-Themen 2
B Methoden Die Sache Mit der Zufallszahl Java Basics - Anfänger-Themen 3
I immer die gleiche Zufallszahl Java Basics - Anfänger-Themen 9
F Zufallszahl ohne Wiederholung Java Basics - Anfänger-Themen 7
R Zufallszahl Java Basics - Anfänger-Themen 5
P Typecasting für Ganzzahlige Zufallszahl (Math.random) Java Basics - Anfänger-Themen 2
S Zufallszahl erzeugen in 50er Schritten Java Basics - Anfänger-Themen 2
S Gerade bzw. Ungerade Zufallszahl generieren Java Basics - Anfänger-Themen 5
P Erste Schritte Zufallszahl in Ascii-Code umwandeln ?!? Java Basics - Anfänger-Themen 6
M Exception bei Zufallszahl Java Basics - Anfänger-Themen 15
M neue Zufallszahl in Schleife Java Basics - Anfänger-Themen 2
TheKing Zufallszahl die man durch 15 dividieren kann Java Basics - Anfänger-Themen 6
Luk10 Zufallszahl "ohne" eine bestimmte Zahl(en) Java Basics - Anfänger-Themen 8
N zufallszahl Java Basics - Anfänger-Themen 3
D Java Zufallszahl Java Basics - Anfänger-Themen 5
N Zufallszahl Java Basics - Anfänger-Themen 2
A Eingabe und Zufallszahl Java Basics - Anfänger-Themen 12
S Zufallszahl -> Schleife Java Basics - Anfänger-Themen 10
TheKing ZufallsZahl im negativbereich Java Basics - Anfänger-Themen 2
S Zufallszahl mit 6 Stellen erzeugen Java Basics - Anfänger-Themen 4
D bei Zufallszahl immer 2 Java Basics - Anfänger-Themen 12
K Zufallszahl Java Basics - Anfänger-Themen 4
Z Alle 15 sek eine Zufallszahl auf Bildschirm Java Basics - Anfänger-Themen 10
M Zufallszahl - kleine Frage Java Basics - Anfänger-Themen 4
S Zufallszahl Java Basics - Anfänger-Themen 9
I Zufallszahl ziwschen 0 und 7 Java Basics - Anfänger-Themen 3
F Zufallszahl in einem bestimmten Intervall Java Basics - Anfänger-Themen 9
B Befehl zum erstellen einer Zufallszahl. Java Basics - Anfänger-Themen 8
S 4-stellige Zufallszahl Java Basics - Anfänger-Themen 4
P Methode funzt nicht => Zufallszahl darf nicht 2x erschein Java Basics - Anfänger-Themen 4
M zufallszahl ohne doppelvorkommen Java Basics - Anfänger-Themen 2
H Zufallszahl Java Basics - Anfänger-Themen 2
K [Java] Zufallszahl als ganze Zahl Java Basics - Anfänger-Themen 5
G Zufallszahl zwischen 2 und n Java Basics - Anfänger-Themen 10
R Zufallszahl random Java Basics - Anfänger-Themen 8
E zufallszahl zwischen 1 und 6 Java Basics - Anfänger-Themen 6
J eigene methode erstellen die eine Zufallszahl generiert. Java Basics - Anfänger-Themen 12
J Zufallszahl ohne Math.random Java Basics - Anfänger-Themen 4
S Spiel: Wer ist näher an der Zufallszahl? Java Basics - Anfänger-Themen 4
N Überprüfung der ZufallsZahl? Java Basics - Anfänger-Themen 2
S Zufallszahl ermitteln Java Basics - Anfänger-Themen 2
C Zufallszahl zwischen... Java Basics - Anfänger-Themen 10
H zufallszahl Java Basics - Anfänger-Themen 2
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
J .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben