Abmelden
(0/0/0/0)
Thema wird unter ihrer speziellen Überwachung erscheinen.
>> Allgemeines Forum >> Themenlos >> Archiv >> wurzel in java ziehen >> Suche
wurzel in java ziehen
Wayne klärt aufStation 1:8:3
Forumbeiträge:Spamposts:Editierte Posts:Editiert worden:Gelöschte Posts:
2497 5 341 275 38
hab da gerade ein kleines problem mit meinen nicht vorhandenen java-skills ich will in ner methode ne wurzel berechnen, bekomme bei der wurzel aber immer den fehler, dass ich float als datentyp brauche, aber double habe public void berechnung(Graphics g,float a){ float r; r = Math.sqrt(a/Math.PI); ... was muss ich ändern, um den fehler zu beheben?
<16:13, Knuffeln! Wayne> aber wayne passt in a doch garnicht rein[...] <16:14, Knuffeln! a> na mein mund is groß
Herr Nilsson Station 1:17:1
1518 1 134 93 14
was haben die variablen die du übergibst für einen datentyp?
An alle meine Stalker .... I love to entertain you
bislang noch keinen; is dass das problem? also ich hab bislang noch nix für die variablen eingesetzt €: hab jetzt mal beim methodenaufruf 10.f für a eigesetzt, tut sich aber nix an dem fehler bei der wurzel
<16:13, Knuffeln! Wayne> aber wayne passt in a doch garnicht rein[...] <16:14, Knuffeln! a> na mein mund is groß 1 mal editiert von Dr. Wayne, zuletzt um 15:45, 27.5.2011
public void berechnung(Graphics g,double a){ double r; r = Math.sqrt(a/Math.PI); versch es mal so
LordArmageddon -| The Apocalypse |-Station 1:1:1
Forumbeiträge:Editierte Posts:Editiert worden:Gelöschte Posts:
2061 198 369 187
jo ich glaub das problem ist, dass Math.PI ne double zurückgibt. download.oracle.com/javase/1.4.2/docs/api/java/lang/Math.html#PI Und einen double-Wert kann man nicht in eine float-Variable speichern.
lokis vorschlag funktioniert besten dank für die hilfe
el.mob Minister für Aufrechterhaltung der inneren Ordnung, Hygiene und sonstiger, interner, schmutziger AngelegenheitenStation 1:15:3
1208 98 28 4
ich hätte noch die idee das du die wurzel mit ^0,5(bzw andre zahl) umgehen kannst .. falls das weniger aufwand sein sollte
Ironie ist Wurst im eigenem Darm!
das problem liegt wie arma gesagt hat an math.pi ... das ist eine double konstante heist einfach mit double werten rechnen und das problem ist erledigt
Nicht Gravedigger GraVeeStation 1:20:4
1452 11 161 39 32
mit dem hoch 0,5 wäre aber programmiertechnisch besser wenn float als datentyp reicht oder ?? ich mein so von bit sparen.... oder ??
Empty your mind. Be formless, shapeless, like water. Now, you put water into a cup - it becomes the cup. Putting it into a tea-pot - it becomes the teapot. Look, water can flow, or creep, or drip or crash. Be water, my friend
hat ja nichts mit der wurzel zu tun, das Problem ist "Math.Pi" das ist ein fester double wert den man nicht in float umwandeln kann und heutzutage spielt der speicher bei solchen programmen weniger die rolle double ist für sowas besser da er eine höhere genauigkeit hat, an sich hätte man pi auch auf z.b 10 stellen von hand eingeben können um flaot zu nutzen
neila Station 1:9:5
Forumbeiträge:Editierte Posts:Gelöschte Posts:
120 12 3
man sollte einen double schon in einen float wandeln können, dies ist jedoch eine unsichere umwandlung da nicht nur datenverlsut (genauigleit) auftritt, sondern auch z.B. ein überlauf (zahlen wie 10^300 passen nicht in einen float). Daher sind soclhe umwandlungen in keiner programmiersprache implizit möglich; Ein exliziter typecast sollte dagegen möglich sein. Beispiele bype x = 16; int y = x; //da jedes byte in einen int abbildbar ist ist ein impliziter cast möglich float x = 16.0; double y = x; //dies solte auch möhlich sein double y = 16.0; float x = (float) y; //so wollte es gehen, nur es könnte zu einer exception kommen (fals y z.B. zu groß //und zudem würde das hier dann interressant double z = x; if(z==y){ //ob dieser code ausgefürt wird also ob y == z ist, ist abhängig von der rundung die beim umweg über x gemaht wurde } in deinem beispiel hätte man datt Math.PI warscheinlich ((float) Math.Pi) schreiben können was die performance etc. angeht. die typewandlung wäre an dieser stelle warscheinlich teurer als das reine rechnen mit doubles.
Ich war auch neu hier!
>> Allgemeines Forum >> Themenlos >> Archiv >> wurzel in java ziehen
top
Antworten
Registrieren sie sich, um im Forum posten zu können.
Wayne
Nachricht schicken SpielerprofilAngreifenScannen
Herr Nilsson
LordArmageddon
el.mob
Nicht Gravedigger
neila