Ich hab ein programm geschrieben, welches mit hilfe des Heronverfahrens eine Wurzel berechnet.
Jetzt würde gerne wissen, wie ich bei meinem Programm, die meistens unzähligen, Nachkommastellen mit anzeigen lassen kann.
Also ich hab da z.B. 213739.69360182027 stehen und möchte aber die ganzen Nachkommastellen anzeigen lassen, oder zu mindestens einen großen Teil.
Hier ist mein Quelltext, falls ihr den braucht:
MFG Fab
Jetzt würde gerne wissen, wie ich bei meinem Programm, die meistens unzähligen, Nachkommastellen mit anzeigen lassen kann.
Also ich hab da z.B. 213739.69360182027 stehen und möchte aber die ganzen Nachkommastellen anzeigen lassen, oder zu mindestens einen großen Teil.
Hier ist mein Quelltext, falls ihr den braucht:
Code:
import java.io.*;
public class Heronverfahren
{
public static void main(String[] args) throws IOException
{
//Anfang Instanzen von Rechnen
Rechnen Wurzel = new Rechnen();
Wurzel.setQuadrat();
Wurzel.setLaenge1();
Wurzel.setLaenge2();
Wurzel.Anzahl();
Wurzel.setMittelwert();
Wurzel.Algorhytmus();
//Ende Instanzen von Rechnen
}
}
class Rechnen
{
//Anfang Variablen
double Quadrat, Laenge1, Laenge2, Mittelwert;
long Anzahl;
//Ende Variablen
//Anfang Reader
InputStreamReader Datenstrom = new InputStreamReader(System.in);
BufferedReader Datenpuffer = new BufferedReader(Datenstrom);
//Ende Reader
void setQuadrat()
{
//Die Zahl, aus welcher die Wurzel gezogen werden soll, wird festgelegt
try
{
System.out.println("Geben sie die Zahl ein, aus welcher die Wurzel gezogen werden soll: ");
Quadrat = Double.parseDouble(Datenpuffer.readLine());
}
catch
(java.io.IOException e)
{
System.out.println("Es ist ein Fehler aufgetreten");
}
}
void setLaenge1()
{
//Die erste Startlänge wird festgelegt
try
{
System.out.println("Geben sie den ersten Startwert ein: ");
Laenge1 = Double.parseDouble(Datenpuffer.readLine());
}
catch
(java.io.IOException e)
{
System.out.println("Es ist ein Fehler aufgetreten");
}
}
void setLaenge2()
{
//Die zweite Startlänge wird festgelegt
try
{
System.out.println("Geben sie den zweiten Startwert ein: ");
Laenge2 = Double.parseDouble(Datenpuffer.readLine());
}
catch
(java.io.IOException e)
{
System.out.println("Es ist ein Fehler aufgetreten");
}
}
void Anzahl()
{
//Es wird festgelegt wie oft der Algorhytmus durchlaufen werden soll
try
{
System.out.println("Geben sie an wie oft der Algorhytmus durchlaufen werden soll");
Anzahl = Long.parseLong(Datenpuffer.readLine());
}
catch
(java.io.IOException e)
{
System.out.println("Es ist ein Fehler aufgetreten");
}
}
void setMittelwert()
{
Mittelwert = (Laenge1 + Laenge2) / 2;
System.out.println("1." +"Loesung: " +Mittelwert);
}
void Algorhytmus()
{
//Anfang des eigentlichen Algorhytmus
for(long i=1; i<=Anzahl - 1; ++i)
{
if (Mittelwert*Mittelwert > Quadrat || Mittelwert*Mittelwert < Quadrat)
{
if (Mittelwert < Laenge1 && Mittelwert > Laenge2)
{
Laenge1 = Mittelwert;
}
else
{
Laenge2 = Mittelwert;
}
//Fehlende Laenge wird berechnet
if (Laenge1 == Mittelwert)
{
Laenge2 = Quadrat / Laenge1;
}
else
{
Laenge1 = Quadrat / Laenge2;
}
Mittelwert = (Laenge1 + Laenge2) / 2;
System.out.println(i + 1 +"." +"Loesung: " +Mittelwert);
//Ende des eigentlichen Algorhytmus
}
}
}
}
MFG Fab