Prova complemento esercizio p6.11 con Sequence.

Parte logica eseguita, matematica mancante
This commit is contained in:
Giacomo R. 2023-01-08 12:07:10 +01:00
parent dd99d97a2c
commit 488aa8d04d
3 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,31 @@
/**
* Classe ApproxGenerator
* @author radaelli11353
*/
public class ApproxGenerator implements Sequence<Double> {
private double a;
private double n;
private double epsilon;
private double x, previousx = 1;
/**
* Costruttore parametrico completo
* @param a Primo numero
* @param n Secondo numero
* @param epsilon Approssimazione accettabile
*/
public ApproxGenerator(double a, double n, double epsilon) {
this.a = a;
this.n = n;
this.epsilon = epsilon;
}
public Double next() {
x = /* = previousx - (Math.pow(previousx, (n-1)) - a)/*/(n * Math.pow(previousx, (n-1)));
return x;
}
public boolean hasNext() {
return Math.pow(x, n) > epsilon;
}
}

View File

@ -0,0 +1,27 @@
import java.util.Scanner;
/**
* Classe ApproxRunner
*/
public class ApproxRunner {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("Inserisci il primo numero 'a': ");
double a = in.nextDouble();
System.out.print("Inserisci il secondo numero 'n': ");
double n = in.nextDouble();
System.out.print("Inserisci Epsilon (precisione)");
double epsilon = in.nextDouble();
ApproxGenerator gen = new ApproxGenerator(a, n, epsilon);
do {
System.out.println(gen.next());
} while(gen.hasNext());
System.out.println("^^ Approssimazione migliore");
}
}

4
6.x/p6.11/Sequence.java Normal file
View File

@ -0,0 +1,4 @@
public interface Sequence<T> {
public boolean hasNext();
public T next();
}