Horner-Schema

Fabian04088

Aktives Mitglied
Java:
{
    int n  = Integer.parseInt(args[0]);

    // compute coeffients for Taylor series e^x = 1 + x + x^2/2! + x^3/3! + ...
    long [] a = new long[n];
    a[0] = 1;
    for (int i = 1; i < n; i++) {
        a[i] = a[i-1] / i;

    }


}
wie kann ich diesen Code ohne Integer.parselnt(args[0]) schreiben
 
Zuletzt bearbeitet von einem Moderator:

Fabian04088

Aktives Mitglied
Sie dürfenkeine Klassen oder Methoden aus der Java-API verwenden und rufen Sie anstelle der arithmetischen Operatoren +, − bzw. · die entsprechenden Methoden von HornerHelper hh auf!

kein Java API :(
 

Fabian04088

Aktives Mitglied
Java:
Public static long helper (HornerHelper hh, long x, long [] a, int i) {
hh.honk(i);
long result2 = 0;

if (x == 0) {
return 1;
}

Else {
for(int j = a.length; i >= 0; i--) {
result2 = result2 * (x- a[i] ) + a[i] ;
}
return result2;

so könnte es evtl. auch gehen glaube ich aber da bekomme ich ein Array IndexOutofExpection fehler
 
Zuletzt bearbeitet von einem Moderator:

Fabian04088

Aktives Mitglied
Aus der Vorlesung kennen Sie das rekursive Horner-Schema für die Auswertung von Polynomen. Erstellen Sie eine Klasse Horner
mit genauzwei öffentlichen statischen Methoden:

• long evaluate(HornerHelper hh, long x, long... a) bzw.
• long helper(HornerHelper hh, long x, long[] a, int i)

Dieersteruftlediglichdiezweitegeeignetauf.

helpersolldasPolynom,dasdurchdieübergebene Reihung a definiert wird, an der Stelle x rekursiv auswerten.
Die Reihung a definiert das Polynom wie folgt, wobei n die Länge der Reihung ist und ai dem Eintrag a in Java entspricht:
n−1 X i=0 ai = an−1 ·xn−1 + an−2 ·xn−2 + an−3 ·xn−3 + ... + a1 ·x1 + a0 ·x0

ACHTUNG–WICHTIG: Gleich zu Beginn von helper müssen Sie die Methode hh.honk(i) mit dem Aktualparameter i aufrufen. Sie dürfenkeine Klassen oder Methoden aus der Java-API verwenden und rufen Sie anstelle der arithmetischen Operatoren +, − bzw. · die entsprechenden Methoden von HornerHelper hh auf! Diese Methoden dienen der Überprüfung Ihrer Implementierung und sind für die automatische Bewertung im EST essentiell!



das ist die ganze Frage damit man es mehr verstehen kann :)
 
K

kneitzel

Gast
for(int j = a.length; i >= 0; i--) {

so könnte es evtl. auch gehen glaube ich aber da bekomme ich ein Array IndexOutofExpection fehler

a.length gibt die Anzahl der Elemente des Arrays wieder, die Elemente sind aber von 0 an nummeriert, so dass der höchste Index a.length-1 ist. In der For-Schleife fängst du aber mit a.length an ==> IndexOutofBounds Exception. (Bound = Grenze, Schranke (mathematisch), Begrenzung, ...)
 

Ähnliche Java Themen

Neue Themen


Oben