Cosinus funktioniert nicht richtig (selbst programmiert)

Status
Nicht offen für weitere Antworten.
C

Coldie

Gast
Tach schön,

hab mal ne Cosiunus-Funktion versucht selbst zu programmieren, aber irgendwie komm ich auf andere Werte als mein Taschen rechner ... obwohl es eig. alles stimmt ... hab mal die Zwischenergebnisse im Quellcode mit ausgeben lassen.

PS: n geht gegen unendlich

Was ist der Fehler???

import java.io.*;


public class cosReihe
{

public static void main (String[]args) throws IOException
{
BufferedReader eingabe=new BufferedReader (new InputStreamReader(System.in));

String str;
double x,cosx;
int vor=0;
double fak, pot=2;
double erg=1;
double zwerg=1;
double potx=1;
double fakultaet=1;


System.out.print("Bitte Winkel angeben!");
str=eingabe.readLine();
x=Double.parseDouble(str);

for (int n=1; n<=50; n++)
{
fakultaet = 1;
potx=x;
vor=1;
System.out.println("n = "+ n );

for (int v=1; v<=n; v++)
{
vor=vor*(-1);
}
System.out.println("Vorzeichen ist "+vor);

for (int p=1; p<=((2*n)-1); p++)
{
potx=potx*x;
}
System.out.println("Potenz von "+x+"^2*"+n+" = "+ potx );

for (int i=1; i<=2*n; i++)
{
fakultaet = fakultaet * i;
}
System.out.println("Fakultät von 2*"+n+" = "+ fakultaet);

zwerg=1f/fakultaet;
System.out.println("Vorzeichen nach ist "+vor);
zwerg=vor*potx*zwerg;
System.out.println("Ergebnis = "+vor+" * "+potx+" / "+fakultaet+" = "+zwerg);
System.out.println("");

erg=erg+zwerg;
System.out.println("Ergebnis = "+erg);

}


}

}

Sorry, dass ich's nicht nochn bissl hübsch gemacht hab .. aber ich bin gearde echt am verzweifeln.

Link zu Cosinus funktion:
Klick mich ich bin ein Link!
 
S

SlaterB

Gast
1.
deine Aufgabe ist erstmal, das Programm zum Laufen zu bringen,
lasse die nervige Eingabe weg, die nicht zuletzt vielleicht auch Fehler reinbringen kann,
schreibe ganz simpel:
x = 45;

fertig

2.
> irgendwie komm ich auf andere Werte als mein Taschen rechner

ein BEISPIEL zu nennen,
x=, y=, y erwartet =
kommt nicht in Frage?

2.
mit Grad kannst du nicht rechnen, füge
x = Math.toRadians(x);
ein, dann scheint es (nach kurzem Testen) zu funktionieren

x = 45;
->
Ergebnis = 0.7071067811865475
 

do falsche hase

Neues Mitglied
könnt ihr mir das mal pls erklähren?
raffe das nich...

mustte auch ne cos.-funktion programmieren und hab das nich richtig hingekriegt..
(mache ne ausblidung zum tai....)

thx
 
S

SlaterB

Gast
könntest du mal pls eine vollständige Frage stellen?
oder willst du den angegebenen Code erklärt haben?

dann fange bitte selber an, gehe Zeile um Zeile durch und frage ganz konkret was du an einer bestimmten Zeile syntaktisch nicht versteht,
von welchen Variablen dir der Sinn verborgen bleibt usw.
 
Status
Nicht offen für weitere Antworten.

Oben