diff --git a/src/main/java/dev/miti99/lotterygenerator/LotteryGenerator.java b/src/main/java/dev/miti99/lotterygenerator/LotteryGenerator.java index 1172375..4588185 100644 --- a/src/main/java/dev/miti99/lotterygenerator/LotteryGenerator.java +++ b/src/main/java/dev/miti99/lotterygenerator/LotteryGenerator.java @@ -3,6 +3,6 @@ package dev.miti99.lotterygenerator; import java.util.List; public interface LotteryGenerator { - List generateNumbers(); - List generateNumbers(int numNumber); + + List generateNumbers(int numNumber); } diff --git a/src/main/java/dev/miti99/lotterygenerator/Main.java b/src/main/java/dev/miti99/lotterygenerator/Main.java index 6ca342c..8075974 100644 --- a/src/main/java/dev/miti99/lotterygenerator/Main.java +++ b/src/main/java/dev/miti99/lotterygenerator/Main.java @@ -1,7 +1,12 @@ package dev.miti99.lotterygenerator; +import dev.miti99.lotterygenerator.mega.Mega645Generator; + public class Main { - public static void main(String[] args) { - System.out.println("Hello world!"); - } + + public static void main(String[] args) { + var generator = new Mega645Generator(); + var result = generator.generateNumbers(4); + System.out.println(result); + } } diff --git a/src/main/java/dev/miti99/lotterygenerator/mega/BasePresetGenerator.java b/src/main/java/dev/miti99/lotterygenerator/mega/BasePresetGenerator.java new file mode 100644 index 0000000..8c3755c --- /dev/null +++ b/src/main/java/dev/miti99/lotterygenerator/mega/BasePresetGenerator.java @@ -0,0 +1,17 @@ +package dev.miti99.lotterygenerator.mega; + +import java.util.List; + +public class BasePresetGenerator extends MegaGenerator { + + int numNumber; + + public BasePresetGenerator(int minNumber, int maxNumber, int numNumber) { + super(minNumber, maxNumber); + this.numNumber = numNumber; + } + + public List generateNumbers() { + return generateNumbers(numNumber); + } +} diff --git a/src/main/java/dev/miti99/lotterygenerator/mega/Mega645Generator.java b/src/main/java/dev/miti99/lotterygenerator/mega/Mega645Generator.java index 3168ba9..0dd89bc 100644 --- a/src/main/java/dev/miti99/lotterygenerator/mega/Mega645Generator.java +++ b/src/main/java/dev/miti99/lotterygenerator/mega/Mega645Generator.java @@ -1,12 +1,12 @@ package dev.miti99.lotterygenerator.mega; -public class Mega645Generator extends MegaGenerator { +public class Mega645Generator extends BasePresetGenerator { - public Mega645Generator(int numNumber) { - super(1, 45, numNumber); - } + public Mega645Generator(int numNumber) { + super(1, 45, numNumber); + } - public Mega645Generator() { - this(6); - } + public Mega645Generator() { + this(6); + } } diff --git a/src/main/java/dev/miti99/lotterygenerator/mega/Mega655Generator.java b/src/main/java/dev/miti99/lotterygenerator/mega/Mega655Generator.java index a014b5f..fd82f7b 100644 --- a/src/main/java/dev/miti99/lotterygenerator/mega/Mega655Generator.java +++ b/src/main/java/dev/miti99/lotterygenerator/mega/Mega655Generator.java @@ -1,12 +1,12 @@ package dev.miti99.lotterygenerator.mega; -public class Mega655Generator extends MegaGenerator { +public class Mega655Generator extends BasePresetGenerator { - public Mega655Generator(int numNumber) { - super(1, 55, numNumber); - } + public Mega655Generator(int numNumber) { + super(1, 55, numNumber); + } - public Mega655Generator() { - this(6); - } + public Mega655Generator() { + this(6); + } } diff --git a/src/main/java/dev/miti99/lotterygenerator/mega/MegaGenerator.java b/src/main/java/dev/miti99/lotterygenerator/mega/MegaGenerator.java index 273412c..42d6d28 100644 --- a/src/main/java/dev/miti99/lotterygenerator/mega/MegaGenerator.java +++ b/src/main/java/dev/miti99/lotterygenerator/mega/MegaGenerator.java @@ -1,45 +1,39 @@ package dev.miti99.lotterygenerator.mega; import dev.miti99.lotterygenerator.LotteryGenerator; - import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; import java.util.stream.IntStream; -public abstract class MegaGenerator implements LotteryGenerator { - int minNumber; - int maxNumber; - int numNumber; +public class MegaGenerator implements LotteryGenerator { - public MegaGenerator(int minNumber, int maxNumber, int numNumber) { - this.minNumber = minNumber; - this.maxNumber = maxNumber; - this.numNumber = numNumber; - } + int minNumber; + int maxNumber; - protected int getTotalNumber() { - return maxNumber - minNumber + 1; - } - protected List generateBaseNumbers() { - return IntStream.rangeClosed(minNumber, maxNumber).boxed().collect(Collectors.toList()); - } + public MegaGenerator(int minNumber, int maxNumber) { + this.minNumber = minNumber; + this.maxNumber = maxNumber; + } - @Override - public List generateNumbers(int numNumber) { - var baseNumbers = generateBaseNumbers(); - var result = new ArrayList(numNumber); - for (int i = 0; i < numNumber; i++) { - var index = (int) (Math.random() * baseNumbers.size()); - result.add(baseNumbers.get(index)); - baseNumbers.remove(index); - } - return result; - } + protected int getTotalNumber() { + return maxNumber - minNumber + 1; + } - @Override - public List generateNumbers() { - return generateNumbers(numNumber); + protected List generateBaseNumbers() { + return IntStream.rangeClosed(minNumber, maxNumber).boxed().collect(Collectors.toList()); + } + + @Override + public List generateNumbers(int numNumber) { + var baseNumbers = generateBaseNumbers(); + var result = new ArrayList(numNumber); + for (int i = 0; i < numNumber; i++) { + var index = (int) (Math.random() * baseNumbers.size()); + result.add(baseNumbers.get(index)); + baseNumbers.remove(index); } + return result; + } } diff --git a/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega645Generator.java b/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega645Generator.java index 2a1b3b1..4994284 100644 --- a/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega645Generator.java +++ b/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega645Generator.java @@ -2,11 +2,11 @@ package dev.miti99.lotterygenerator.mega.reverserd; public class ReversedMega645Generator extends ReversedMegaGenerator { - public ReversedMega645Generator(int numNumber) { - super(1, 45, numNumber); - } + public ReversedMega645Generator(int numNumber) { + super(1, 45, numNumber); + } - public ReversedMega645Generator() { - this(6); - } + public ReversedMega645Generator() { + this(6); + } } diff --git a/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega655Generator.java b/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega655Generator.java index fa5655c..39e59ae 100644 --- a/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega655Generator.java +++ b/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMega655Generator.java @@ -2,11 +2,11 @@ package dev.miti99.lotterygenerator.mega.reverserd; public class ReversedMega655Generator extends ReversedMegaGenerator { - public ReversedMega655Generator(int numNumber) { - super(1, 55, numNumber); - } + public ReversedMega655Generator(int numNumber) { + super(1, 55, numNumber); + } - public ReversedMega655Generator() { - this(6); - } + public ReversedMega655Generator() { + this(6); + } } diff --git a/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMegaGenerator.java b/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMegaGenerator.java index 87a3d14..62ef1c8 100644 --- a/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMegaGenerator.java +++ b/src/main/java/dev/miti99/lotterygenerator/mega/reverserd/ReversedMegaGenerator.java @@ -1,18 +1,18 @@ package dev.miti99.lotterygenerator.mega.reverserd; -import dev.miti99.lotterygenerator.mega.MegaGenerator; - +import dev.miti99.lotterygenerator.mega.BasePresetGenerator; import java.util.List; -public class ReversedMegaGenerator extends MegaGenerator { - public ReversedMegaGenerator(int minNumber, int maxNumber, int numNumber) { - super(minNumber, maxNumber, numNumber); - } +public class ReversedMegaGenerator extends BasePresetGenerator { - @Override - public List generateNumbers(int numNumber) { - var baseNumbers = generateBaseNumbers(); - var removedNumbers = super.generateNumbers(getTotalNumber() - numNumber); - return baseNumbers.stream().filter(n -> !removedNumbers.contains(n)).toList(); - } + public ReversedMegaGenerator(int minNumber, int maxNumber, int numNumber) { + super(minNumber, maxNumber, numNumber); + } + + @Override + public List generateNumbers(int numNumber) { + var baseNumbers = generateBaseNumbers(); + var removedNumbers = super.generateNumbers(getTotalNumber() - numNumber); + return baseNumbers.stream().filter(n -> !removedNumbers.contains(n)).toList(); + } }