From c009693a07276f8d66cd68637431f0a3f0e9ef15 Mon Sep 17 00:00:00 2001 From: Julian T Date: Tue, 8 Sep 2020 13:43:21 +0200 Subject: Added more java assignments --- sem5/oop/m2/primes/src/PrimeGen.java | 40 ++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 sem5/oop/m2/primes/src/PrimeGen.java (limited to 'sem5/oop/m2/primes/src/PrimeGen.java') diff --git a/sem5/oop/m2/primes/src/PrimeGen.java b/sem5/oop/m2/primes/src/PrimeGen.java new file mode 100644 index 0000000..9c91645 --- /dev/null +++ b/sem5/oop/m2/primes/src/PrimeGen.java @@ -0,0 +1,40 @@ +import java.io.PrintStream; +import java.util.ArrayList; + +public class PrimeGen { + + private ArrayList primes; + private int at; + + public PrimeGen() { + this.primes = new ArrayList<>(); + + this.at = 1; + } + + public int next(int limit) { + // Run until a prime + primeloop: + while (true) { + this.at++; + if (this.at >= limit) { + return -1; + } + + for (int prime : this.primes) { + if (this.at % prime == 0) { + continue primeloop; + } + } + break; + } + + this.primes.add(at); + return at; + } + + public int next() { + return next(-1); + } + +} -- cgit v1.2.3