Witam, jestem studentem informatyki i próbuję nauczyć się programowania w Javie. Mam problem z obiektowym napisaniem programu, który miałby obliczyć dane funkcje po podaniu (w kodzie) liczby x.
Treść zadania wygląda następująco:
Napisz program, służący do obliczenia przybliżonych wartości poniżej podanych funkcji dla danej wartości x.
Uwaga: aby uzyskać zadowalającą dokładność należy zsumować wiele elementów szeregu, ale zawsze skończoną liczbę elementów!
Dodam jeszcze, że mam napisać ten program obiektowo i właśnie nie wiem czy rozumiem co to znaczy. Wydaje mi się, że poniższy kod jest poprawny(oprócz tego, że f2 i f3 są kopią f1), niestety zwraca mi błąd o niezadeklarowanej zmiennej f1. Nie rozumiem, czemu program nie widzi zmiennej f1 skoro jest ona w objekcie, który stworzyłem. Kompilator, którego używam to BlueJ (w tym mi kazano pisać na uczelni). Proszę o pomoc.
import java.lang.Math;
import java.util.*;
public class zadanie3_lista1
{
double x;
double k;
public double silnia(double k){
double wynik=1;
for (int i = 2; i<=k; i++) {
wynik = wynik * i;
}
return wynik;
}
public double f1(){
double s=0.0, s2=0.0;
for (int j=1; j<=k; j++){
s=Math.pow(x, k)/silnia(k);
s2+=s;
}
return s2;
}
public double f2(){
double s=0.0, s2=0.0;
for (int j=1; j<=k; j++){
s=Math.pow(x, k)/silnia(k);
s2+=s;
}
return s2;
}
public double f3(){
double s=0.0, s2=0.0;
for (int j=1; j<=k; j++){
s=Math.pow(x, k)/silnia(k);
s2+=s;
}
return s2;
}
}
class zad3
{
public void main()
{
zadanie3_lista1 zadanie = new zadanie3_lista1();
zadanie.x=1.0;
zadanie.k=1.0;
System.out.println("Wynik pierwszej funkcji to:"+zadanie.f1+" Wynik drugiej funkcji to:"+zadanie.f2+" Wynik trzeciej funkcji to:"+zadanie.f3);
}
}