Advertisement
Guest User

Untitled

a guest
May 4th, 2024
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.14 KB | None | 0 0
  1. package org.example;
  2.  
  3. import java.util.Optional;
  4. import java.util.Scanner;
  5. import java.util.stream.Stream;
  6.  
  7. class Main {
  8.   @SuppressWarnings("unchecked")
  9.   public static void main(String[] args) {
  10.     Scanner in = new Scanner(System.in);
  11.     String line = in.nextLine();
  12.     var nums = Stream
  13.       .of(line.split("\\W"))
  14.       .map(Main::safeToInt)
  15.       .toArray(s -> (Optional<Integer>[]) new Optional[s]);
  16.     Optional<Integer> a = nums[0], b = nums[1], c = nums[2];
  17.     var d = a.flatMap(v1 -> b.flatMap(v2 -> safeDiv(v1, v2)));
  18.     var r = c.flatMap(v4 -> d.flatMap(v3 -> safePow(v3, v4)));
  19.     System.out.println(r);
  20.   }
  21.  
  22.   public static Optional<Integer> safeDiv(Integer a, Integer b) {
  23.     if (b == 0) return Optional.empty();
  24.     return Optional.of(a / b);
  25.   }
  26.  
  27.   public static Optional<Integer> safePow(Integer a, Integer b) {
  28.     if (b <= 0) return Optional.empty();
  29.     return Optional.of((int) Math.pow(a, b));
  30.   }
  31.  
  32.   public static Optional<Integer> safeToInt(String s) {
  33.     try {
  34.       return Optional.of(Integer.parseInt(s));
  35.     } catch (NumberFormatException e) {
  36.       return Optional.empty();
  37.     }
  38.   }
  39. }
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement