Java Lambda Expressions

Sort by

recency

|

166 Discussions

|

  • + 0 comments
    import java.io.*;
    import java.util.*;
    interface PerformOperation {
     boolean check(int a);
    }
    class MyMath {
     public static boolean checker(PerformOperation p, int num) {
      return p.check(num);
     }
     
       public PerformOperation isOdd() {
            return num -> num % 2 != 0;
        }
    
    
       public PerformOperation isPrime() {
            return num -> (num == 2 || num == 3) || (num % 2 != 0 && num % 3 !=0);
        }
    
    
       
        public PerformOperation isPalindrome() {
            return number -> {
                List<String> strNumber = Arrays.asList(String.valueOf(number).split("")) ;
                Collections.reverse(strNumber);
                int reversedNumber = Integer.parseInt(String.join("",strNumber));
                if (number == reversedNumber)
                    return true;
                else
                    return false;
    
            };
        }
    }
       // Write your code here
    
    public class Solution {
    
     public static void main(String[] args) throws IOException {
      MyMath ob = new MyMath();
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      int T = Integer.parseInt(br.readLine());
      PerformOperation op;
      boolean ret = false;
      String ans = null;
      while (T--> 0) {
       String s = br.readLine().trim();
       StringTokenizer st = new StringTokenizer(s);
       int ch = Integer.parseInt(st.nextToken());
       int num = Integer.parseInt(st.nextToken());
       if (ch == 1) {
        op = ob.isOdd();
        ret = ob.checker(op, num);
        ans = (ret) ? "ODD" : "EVEN";
       } else if (ch == 2) {
        op = ob.isPrime();
        ret = ob.checker(op, num);
        ans = (ret) ? "PRIME" : "COMPOSITE";
       } else if (ch == 3) {
        op = ob.isPalindrome();
        ret = ob.checker(op, num);
        ans = (ret) ? "PALINDROME" : "NOT PALINDROME";
    
       }
       System.out.println(ans);
      }
     }
    }
    
  • + 0 comments
    import java.io.*;
    import java.util.*;
    import java.math.BigInteger;
    
    interface PerformOperation {
     boolean check(int a);
    }
    class MyMath {
     public static boolean checker(PerformOperation p, int num) {
      return p.check(num);
     }
        
        public PerformOperation isOdd() {
            return number -> number % 2 != 0;
        }
        
        public PerformOperation isPrime() {
            return number ->  BigInteger.valueOf(number).isProbablePrime(1);
        }
        
        public PerformOperation isPalindrome() {
            return number -> {
                String possiblePalindrome = String.valueOf(number);
                int j = possiblePalindrome.length() - 1;
                for (int i = 0; i < possiblePalindrome.length() / 2; i++) {
                    if (possiblePalindrome.charAt(i) != possiblePalindrome.charAt(j)) {
                        return false;
                    }
                    j--;
                }
                return true;
            };
        }
        
        
    }
    
    public class Solution {
    
     public static void main(String[] args) throws IOException {
      MyMath ob = new MyMath();
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      int T = Integer.parseInt(br.readLine());
      PerformOperation op;
      boolean ret = false;
      String ans = null;
      while (T--> 0) {
       String s = br.readLine().trim();
       StringTokenizer st = new StringTokenizer(s);
       int ch = Integer.parseInt(st.nextToken());
       int num = Integer.parseInt(st.nextToken());
       if (ch == 1) {
        op = ob.isOdd();
        ret = ob.checker(op, num);
        ans = (ret) ? "ODD" : "EVEN";
       } else if (ch == 2) {
        op = ob.isPrime();
        ret = ob.checker(op, num);
        ans = (ret) ? "PRIME" : "COMPOSITE";
       } else if (ch == 3) {
        op = ob.isPalindrome();
        ret = ob.checker(op, num);
        ans = (ret) ? "PALINDROME" : "NOT PALINDROME";
    
       }
       System.out.println(ans);
      }
     }
    }
    
  • + 0 comments

    works well for java 15 import java.util.Scanner;

    interface PerformOperation { boolean check(int a); }

    class MyMath { // Method to check if the number is odd public static PerformOperation isOdd() { return (int a) -> a % 2 != 0; }

    // Method to check if the number is prime
    public static PerformOperation isPrime() {
        return (int a) -> {
            if (a <= 1) return false;
            for (int i = 2; i <= Math.sqrt(a); i++) {
                if (a % i == 0) return false;
            }
            return true;
        };
    }
    
    // Method to check if the number is a palindrome
    public static PerformOperation isPalindrome() {
        return (int a) -> {
            String str = Integer.toString(a);
            String reverseStr = new StringBuilder(str).reverse().toString();
            return str.equals(reverseStr);
        };
    }
    
    // Method to execute the operation based on the condition
    public static boolean checker(PerformOperation p, int num) {
        return p.check(num);
    }
    

    }

    public class Solution { public static void main(String[] args) { MyMath math = new MyMath(); Scanner sc = new Scanner(System.in); int T = sc.nextInt();

        while (T-- > 0) {
            int ch = sc.nextInt();
            int num = sc.nextInt();
            PerformOperation op;
            boolean result = false;
    
            switch (ch) {
                case 1:
                    op = MyMath.isOdd();
                    result = MyMath.checker(op, num);
                    System.out.println(result ? "ODD" : "EVEN");
                    break;
                case 2:
                    op = MyMath.isPrime();
                    result = MyMath.checker(op, num);
                    System.out.println(result ? "PRIME" : "COMPOSITE");
                    break;
                case 3:
                    op = MyMath.isPalindrome();
                    result = MyMath.checker(op, num);
                    System.out.println(result ? "PALINDROME" : "NOT PALINDROME");
                    break;
            }
        }
        sc.close();
    }
    

    }

  • + 1 comment
    public static PerformOperation isOdd(){
            return n->n%2==1;
        }
        public static PerformOperation isPrime(){
            return n-> IntStream.range(2,n).noneMatch(i -> n%i ==0);
        }
        public static PerformOperation isPalindrome(){
            return n-> Integer.toString(n).equals(new StringBuilder(Integer.toString(n)).reverse().toString());
        }
    
  • + 1 comment

    The predefined code for Main class in Java 8 is wrong. Had to switch to Java 15 for my code to work.