desislava_topuzakova

04. Applied Arithmetics

Sep 30th, 2021
985
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.28 KB | None | 0 0
  1. import java.util.Arrays;
  2. import java.util.Collections;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.function.*;
  6. import java.util.stream.Collectors;
  7.  
  8. public class FormulaOne_02 {
  9.     public static void main(String[] args) {
  10.         //Function<приема, връща> -> apply
  11.         //Consumer<приема> -> void -> accept
  12.         //Supplier<връща> -> get
  13.         //Predicate<приема> -> false / true -> test
  14.         //BiFunction<приема1, приема2, връща> -> apply
  15.         Scanner scanner = new Scanner(System.in);
  16.         String input = scanner.nextLine(); //"1 2 3 4 5" -> split -> ["1", "2", "3", "4", "5"]
  17.         int [] numbers = Arrays.stream(input.split("\\s+")).mapToInt(Integer::parseInt).toArray();
  18.  
  19.         //add -> adds 1: приемем масив -> върнем масив
  20.         Function<int[], int[]> add = array -> Arrays.stream(array).map(number -> number += 1).toArray();
  21.  
  22.         //multiply -> multiply by 2: примем масив -> върна масив
  23.         Function<int[], int[]> multiply = array -> Arrays.stream(array).map(number -> number *= 2).toArray();
  24.  
  25.         //subtract -> subtracts 1: приемам масив -> връщам масив
  26.         Function<int[], int[]> subtract = array -> Arrays.stream(array).map(number -> number -= 1).toArray();
  27.  
  28.         //print -> print all elements: приема масив -> отпечатам елементите
  29.         Consumer<int[]> print = array -> Arrays.stream(array).forEach(number -> System.out.print(number + " "));
  30.  
  31.  
  32.         String command = scanner.nextLine();
  33.         while(!command.equals("end")) {
  34.             //add, multiply, subtract, print
  35.             switch (command) {
  36.                 case "add":
  37.                     numbers = add.apply(numbers);
  38.                     break;
  39.                 case "multiply":
  40.                     numbers = multiply.apply(numbers);
  41.                     break;
  42.                 case "subtract":
  43.                     numbers = subtract.apply(numbers);
  44.                     break;
  45.                 case "print":
  46.                     print.accept(numbers);
  47.                     System.out.println();
  48.                     break;
  49.  
  50.             }
  51.             command = scanner.nextLine();
  52.         }
  53.  
  54.  
  55.  
  56.     }
  57. }
Advertisement
Add Comment
Please, Sign In to add comment