Zum Inhalt springen

Hilfe bei Programmierung mit mathematischen Größen


Empfohlene Beiträge

Geschrieben

Hallo,

ich habe drei Probleme bei der Programmierung meines Programmes und schon so einiges versucht sowie in Javabücher gelesen aber irgendwie will es nicht funktioniern. Es wäre echt nett wenn Ihr mir helfen könntet, dank im voraus.

1. bei der Formel kommt immer wieder der Fehler "operator*cannot be applied to double,java.math.BigDecimal", obwohl bei identischen Fenstern die Formel umgesetzt wird ohne Fehleranzeige. (siehe Quelltext1)

2. ich habe mehrfach versucht Zahlen im Wertebereich "double" auf 2Stellen nach dem Komma zu Runden ("public static double round(double a)") aber geht einfach nicht!!!

3. wie kann ich Formeln mit Logarithmusfunktionen einbinden (Quellcode)?

Bitte helft mir, bin ein absoluter Anfänger!!! :(

Quelltext1:

public double berechneKreditrate(double kreditBetrag, int anzJahre, double zinsSatz) {

//Hier wird die Formel A = Ro * ((q^n * (q - 1)) / (q^n - 1)) umgesetzt

zinsSatz = zinsSatz/100;

BigDecimal q = new BigDecimal(zinsSatz+1);

BigDecimal qMinusEins = new BigDecimal(zinsSatz);

double qhochAnzJahrMinusEins = q.pow(anzJahre).subtract(BigDecimal.ONE).doubleValue();

double qhochAnzJahr = q.pow(anzJahre).doubleValue();

return kreditBetrag * (qhochAnzJahr * qMinusEins/(qhochAnzJahrMinusEins.doubleValue()));

}

Geschrieben

Du versuchst hier einen primitiven Datentypen mit einem nicht primitiven Datentypen zu multiplizieren. Deine qMinusEins Variable ist von Typ BigDecimal deine Variable qhochAnzJahre ist vom Typ double.

Dein wildes hin und her casten der Datentypen ist aber auch recht abenteuerlich.

Die Klasse Math sollte dir bei deinen Mathematischen Problemen weiter helfen.

Geschrieben
Ich habe die Klasse "java.math.BigDecimal" schon implementiert aber es geht halt nicht!??

Implementiert hat sie jemand anderes, Du nutzt sie nur.

Die Zeile des Quelltextes mit dem return Statement enthält zwei Fehler. Es muss dort "qMinusEins.doubleValue()" stehen, denn qMinusEins ist ein BigDecimal und muss erst in eine double Variable konvertiert werden, wenn der Multiplikations-Operator angewendet werden soll. "qhochAnzJahrMinusEins" ist hingegen bereits eine double Variable und braucht nicht mehr zu einer solchen konvertiert werden, d.h. es muss ".doubleValue()" weggelassen werden.

Mit diesen Änderungen sollte der Quelltext kompilieren.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...