Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.example;
- import java.util.Optional;
- import java.util.Scanner;
- import java.util.stream.Stream;
- class Main {
- @SuppressWarnings("unchecked")
- public static void main(String[] args) {
- Scanner in = new Scanner(System.in);
- String line = in.nextLine();
- var nums = Stream
- .of(line.split("\\W"))
- .map(Main::safeToInt)
- .toArray(s -> (Optional<Integer>[]) new Optional[s]);
- Optional<Integer> a = nums[0], b = nums[1], c = nums[2];
- var d = a.flatMap(v1 -> b.flatMap(v2 -> safeDiv(v1, v2)));
- var r = c.flatMap(v4 -> d.flatMap(v3 -> safePow(v3, v4)));
- System.out.println(r);
- }
- public static Optional<Integer> safeDiv(Integer a, Integer b) {
- if (b == 0) return Optional.empty();
- return Optional.of(a / b);
- }
- public static Optional<Integer> safePow(Integer a, Integer b) {
- if (b <= 0) return Optional.empty();
- return Optional.of((int) Math.pow(a, b));
- }
- public static Optional<Integer> safeToInt(String s) {
- try {
- return Optional.of(Integer.parseInt(s));
- } catch (NumberFormatException e) {
- return Optional.empty();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement