Completato esercizio p6.9 con Sequence.
Implementata interfaccia Sequence nella classe PrimeGenerator
This commit is contained in:
@@ -5,37 +5,41 @@
|
|||||||
*/
|
*/
|
||||||
public class PrimeGenerator implements Sequence<Integer> {
|
public class PrimeGenerator implements Sequence<Integer> {
|
||||||
private int max;
|
private int max;
|
||||||
private int i = 1;
|
private int attuale;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Costruttore parametrico completo
|
* Costruttore parametrico completo
|
||||||
* @param max Numero massimo che deve essere stampato
|
* @param max Numero massimo che deve essere stampato
|
||||||
*/
|
*/
|
||||||
public PrimeGenerator(int max) {
|
public PrimeGenerator(int max) {
|
||||||
this.max = max;
|
this.max = max;
|
||||||
}
|
attuale = 2;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Metodo che restituisce il numero successivo nella sequenza dei numeri primi
|
* Metodo che restituisce il numero successivo nella sequenza dei numeri primi
|
||||||
* @return Numero successivo nella sequenza
|
* @return Numero successivo nella sequenza
|
||||||
*/
|
*/
|
||||||
public Integer next() {
|
public Integer next() {
|
||||||
int counter = 0;
|
while (true) {
|
||||||
int j = 1;
|
boolean primo = true;
|
||||||
|
|
||||||
while(j <= i && counter <= 2)
|
for (int i = 2; i < attuale; i++) {
|
||||||
{
|
if (attuale % i == 0) {
|
||||||
counter = 0;
|
primo = false;
|
||||||
if(i % j == 0)
|
}
|
||||||
{
|
|
||||||
counter++;
|
|
||||||
}
|
}
|
||||||
j++;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Integer.MIN_VALUE;
|
if (primo) {
|
||||||
}
|
int prossimo = attuale;
|
||||||
|
attuale++;
|
||||||
|
return prossimo;
|
||||||
|
}
|
||||||
|
attuale++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public boolean hasNext() {
|
public boolean hasNext() {
|
||||||
return true;
|
return attuale < max;
|
||||||
}
|
}
|
||||||
}
|
}
|
@@ -1,16 +1,19 @@
|
|||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Classe di test per PrimeGenerator
|
||||||
|
* @author radaelli11353
|
||||||
|
*/
|
||||||
public class Test {
|
public class Test {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Scanner in = new Scanner(System.in);
|
Scanner in = new Scanner(System.in);
|
||||||
System.out.print("Inserisci un numero: ");
|
System.out.print("Inserisci un numero: ");
|
||||||
int max = in.nextInt();
|
int max = in.nextInt();
|
||||||
PrimeGenerator primi = new PrimeGenerator(max);
|
PrimeGenerator primi = new PrimeGenerator(max);
|
||||||
|
|
||||||
while(primi.hasNext()) {
|
while(primi.hasNext()) {
|
||||||
int numero = primi.next();
|
System.out.println(primi.next());
|
||||||
if(numero != 0) System.out.println(numero);
|
}
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user