desislava_topuzakova

04. Applied Arithmetics

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