aboutsummaryrefslogtreecommitdiff
path: root/challenge-115/ziameraj16/java/LargestMultiple.java
diff options
context:
space:
mode:
authorLuis Mochan <mochan@fis.unam.mx>2021-06-05 00:10:09 -0500
committerLuis Mochan <mochan@fis.unam.mx>2021-06-05 00:10:09 -0500
commitc9c7142570ee4f82f6c0998e6ecfae6f032fe463 (patch)
tree4aa5bf856c3e2d832ca8374cbff82d7527ef76aa /challenge-115/ziameraj16/java/LargestMultiple.java
parentc18fb21257876cc864357fa7a2237995c1f6b169 (diff)
parent373a97f7ee737cbd8d3e8d87a96b6ae0dec388b5 (diff)
downloadperlweeklychallenge-club-c9c7142570ee4f82f6c0998e6ecfae6f032fe463.tar.gz
perlweeklychallenge-club-c9c7142570ee4f82f6c0998e6ecfae6f032fe463.tar.bz2
perlweeklychallenge-club-c9c7142570ee4f82f6c0998e6ecfae6f032fe463.zip
Merge branch 'master' of github.com:manwar/perlweeklychallenge-club into challenges
Diffstat (limited to 'challenge-115/ziameraj16/java/LargestMultiple.java')
-rw-r--r--challenge-115/ziameraj16/java/LargestMultiple.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/challenge-115/ziameraj16/java/LargestMultiple.java b/challenge-115/ziameraj16/java/LargestMultiple.java
new file mode 100644
index 0000000000..ada2d9226a
--- /dev/null
+++ b/challenge-115/ziameraj16/java/LargestMultiple.java
@@ -0,0 +1,39 @@
+import java.util.*;
+import java.util.stream.Collectors;
+
+public class LargestMultiple {
+
+ public static void main(String[] args) {
+ Scanner scanner = new Scanner(System.in);
+ System.out.println("Enter comma separate numbers");
+ final String input = scanner.nextLine();
+ final List<Integer> list = Arrays.stream(input.split(",")).map(Integer::valueOf).collect(Collectors.toList());
+ System.out.print("Output: ");
+ getLargestMultiple(list).stream().forEach(System.out::print);
+ System.out.println();
+ }
+
+ public static List<Integer> getLargestMultiple(List<Integer> list) {
+ final List<Integer> sortedList = list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());
+ if (sortedList.get(sortedList.size() - 1) % 2 == 0) {
+ return sortedList;
+ } else {
+ int i = list.size() - 2;
+ while (true) {
+ if (sortedList.get(i) % 2 == 0) {
+ List<Integer> newList = new ArrayList<>(list.size());
+ for (int j = 0; j <= i - 1; j++) {
+ newList.add(sortedList.get(j));
+ }
+ for (int j = i + 1; j < list.size(); j++) {
+ newList.add(sortedList.get(j));
+ }
+ newList.add(sortedList.get(i));
+ return newList;
+ }
+ i--;
+ }
+ }
+ }
+}
+