Advertisement
veronikaaa86

01. Sum Adjacent Equal Numbers

Oct 12th, 2022
776
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.24 KB | None | 0 0
  1. package lists;
  2.  
  3. import java.text.DecimalFormat;
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.stream.Collectors;
  8.  
  9. public class P01SumAdjacentEqualNumbers {
  10.     public static void main(String[] args) {
  11.         Scanner scanner = new Scanner(System.in);
  12.  
  13.         List<Double> numbersList = Arrays.stream(scanner.nextLine().split(" "))
  14.                 .map(Double::parseDouble)
  15.                 .collect(Collectors.toList());
  16.  
  17.         for (int i = 0; i < numbersList.size() - 1; i++) {
  18.             double currentNum = numbersList.get(i);
  19.             double nextNum = numbersList.get(i + 1);
  20.             if (currentNum == nextNum) {
  21.                 numbersList.set(i, currentNum + nextNum);
  22.                 numbersList.remove(i + 1);
  23.                 i = -1;
  24.             }
  25.         }
  26.  
  27.         System.out.println(joinElementsByDelimiter(numbersList, " "));
  28.     }
  29.  
  30.     public static String joinElementsByDelimiter(List<Double> list, String delimiter) {
  31.         DecimalFormat df = new DecimalFormat("0.#");
  32.         String result = "";
  33.         for (double item : list) {
  34.             String numDf = df.format(item) + delimiter;
  35.             result += numDf;
  36.         }
  37.  
  38.         return result;
  39.     }
  40. }
  41.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement