Prova complemento esercizio p6.11 con Sequence.
Parte logica eseguita, matematica mancante
This commit is contained in:
parent
dd99d97a2c
commit
488aa8d04d
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,4 @@
|
|||
public interface Sequence<T> {
|
||||
public boolean hasNext();
|
||||
public T next();
|
||||
}
|
Loading…
Reference in New Issue