haavis Skrevet 11. november 2004 Del Skrevet 11. november 2004 Noe som vet hvordan man kan finne ut hvor mange desimaler en double datatype lagrer? Jeg har laget en metode som beregner kvadratroten av et tall men vil at den skal stoppe etter at et visst antall desimaler er beregnet. Forslag på hvordan dette skal gjøres? Lenke til kommentar
Frank2004 Skrevet 11. november 2004 Del Skrevet 11. november 2004 Float- og double-typene opererer vel ikke med så og så mange desimaler, men heller et gitt antall siffer, være det seg før eller etter komma. Mer info her: http://java.sun.com/docs/books/jls/second_...doc.html#230798 http://java.sun.com/docs/books/jls/second_...s.doc.html#9208 Hvis du jobber med en double _er_ vel beste løsning å bruke java.lang.Math.sqrt(), ellers kan du kikke på java.math.BigDecimal -klassen. Lenke til kommentar
buskmann Skrevet 11. november 2004 Del Skrevet 11. november 2004 import java.io.*; import java.util.*; import java.lang.Integer; class Rot { static BufferedReader in = null; public static void main(String args[]) { double tall=0; System.out.println("Skriv inn tallet og trykk Enter"); try { in = new BufferedReader(new InputStreamReader(System.in)); } catch (Exception e) { e.printStackTrace(); } try { tall = Double.parseDouble(in.readLine()); } catch (Exception e) { e.printStackTrace(); } int tall2=((int)tall); System.out.println("Vi skal finne roten av "+tall2+" numerisk"); int teller=0; double ans=tall/6; double gjett=1; while(Math.abs(ans-gjett)>0.000000000001){ teller++; gjett=ans; ans = (ans+tall/ans)/2; if (teller!=1) System.out.println(ans); } System.out.println(); System.out.println("Roten av "+tall2+" er " + ans); System.out.println(teller -1 + " iterasjoner"); } } Lenke til kommentar
haavis Skrevet 12. november 2004 Forfatter Del Skrevet 12. november 2004 Takk for svar : ) Fant det forsåvidt ut selv da etter mye prøving og feiling, og brukte heller en metode der jeg sjekket om differansen i ny beregning var større enn angitt nøyaktighet. Fungerte veldig bra etterhvert Implementerte tilogmed Newtons metode for å beregne røtter! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå