Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- import java.util.function.BiFunction;
- import java.util.function.Consumer;
- import java.util.function.Function;
- import java.util.function.Predicate;
- public class UserLogs_09 {
- public static void main(String[] args) {
- Scanner scanner = new Scanner(System.in);
- //Function <приема, връща>
- //Consumer <приема> -> void
- //Supplier <връща>
- //Predicate<приема> -> връща true/false
- //BiFunction<приема1, приема2, връща>
- //"add" -> adds 1; приемам масив, връщам масив
- Function<int[], int[]> add = array -> Arrays.stream(array).map(e -> e += 1).toArray();
- // "multiply" -> multiplies by 2; приемам масив, променям масив
- Function<int[], int[]> multiply = array -> Arrays.stream(array).map(e -> e *= 2).toArray();
- // "subtract" -> subtracts 1;
- Function<int[], int[]> subtract = array -> Arrays.stream(array).map(e -> e -= 1).toArray();
- // "print" -> prints; приема масив -> печата
- Consumer<int[]> print = array -> Arrays.stream(array).forEach(e -> System.out.print(e + " "));
- int [] numbers = Arrays.stream(scanner.nextLine().split("\\s+")).mapToInt(Integer::parseInt).toArray();
- String command = scanner.nextLine();
- while(!command.equals("end")) {
- //add, multiply, subtract, print
- switch(command) {
- case "add":
- numbers = add.apply(numbers);
- break;
- case "multiply":
- numbers = multiply.apply(numbers);
- break;
- case "subtract":
- numbers = subtract.apply(numbers);
- break;
- case "print":
- print.accept(numbers);
- System.out.println();
- break;
- }
- command = scanner.nextLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment