Random (double-Wert) number generator aus einer Reihe
In der Java-api mit eine Methode bei der Generierung von ganzen zahlen zwischen 0(inklusive) und n(exklusive), nicht aber eine Methode, um Zufallszahlen zu generieren, der double-Werte, über einen bestimmten Bereich, sagen wir 2.0 auf 3.0. Wie kann das getan werden?
double x = 0.7 + Double.valueOf(Math.random()*(9.0-0.7)).intValue();
Das Ergebnis seiner nur wenige zahlen von Typ .7
- Exakte Kopie: stackoverflow.com/questions/363681/...
- Die, die Sie mir zeigte, ich habe es schon gesehen, aber es spricht ein=nur über INTEGRES. Ich brauche verdoppelt
- Es ist sehr leicht verallgemeinert. Nur werfen die ganze Zahl und multipliziere es mit einer zufällig generierten verdoppeln.
- Hey sir, ich versuchte, und ich kann nicht es herausfinden. Ist dieses forum für Fragen, Frage oder für Sie, diese zu schließen?
- Ja, das Frage nicht nur die Rede von ganzen zahlen. Aber die gleiche Logik gilt für Doppelzimmer als gut.
- Wir haben für Sie eine passende Antwort und Ihre Frage zeigt keinen code zeigst deinen Versuch.
- Hier ist mein code zeigt meinen Versuch: double x = 0.7 + Doppel.valueOf(Math.random()*(9.0-0.7)).intValue(); Und dies erzeugt lediglich 4 oder 5 nr Typ .7 sonst nichts. Es wäre eine wirklich "einfach" oder "logisch" - Frage, aber wenn ich mich um Hilfe bittet, bedeutet das, dass ich Hilfe brauche. Und wenn Sie denken, also bitte nicht kommentieren an alle
- Bearbeiten Sie Ihre Frage und fügen Sie Ihren code Versuch es, nicht in einem Kommentar, da der code verliert seine Formatierung in Kommentaren und ist impossibe zu Lesen. Und es ist nicht egal, ob Sie um Hilfe zu bitten oder nicht, es ist, dass Sie eine Lösung und warf gerade Ihre Hände, und gab, ohne zu zeigen, dass Sie versucht, auf die Lösung gegeben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie ganz in der Nähe, aber die
intValue()
nennen ist unnötig und dieDouble.valueOf( String )
Anruf gar nicht kompilieren.doubles
sind binäre zahlen, einen Wert wie10.3
können nicht exakt dargestellt werden, so dass es nicht wirklich Sinn zu Fragen, für einedouble
mit einer Stelle nach dem Komma. Jedoch, wenn Sie drucken möchten Ihre Zahl gerundet auf eine Dezimalstelle, versuchen:System.out.printf( "%.1f%n", 10.3 )
. Schauen Sie sich auch das DecimalFormat Klasse.Den markierten Antwort schließt die maximale (nextDouble maximal 0,9). Als Randnotiz möchte ich meine Antwort einschließlich der maximalen.
Haben Sie versucht, die Random-Klasse statt?
http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html
Therere Methoden für float, double...