Java Lambda Expressions

Sort by

recency

|

170 Discussions

|

  • + 0 comments

    this is the easy solution without making more method in the class mymath //**************** import java.io.; import java.util.;

    public class Solution {

    public static void main(String[] args) throws IOException {
        MyMath ob = new MyMath();
        Scanner br = new Scanner(System.in);
        int T = Integer.parseInt(br.nextLine());
        PerformOperation op;
        boolean ret = false;
        String ans = null;
        while (T--> 0) {
            String s = br.nextLine().trim();
            String[] st = s.split("\\s");
            int ch = Integer.parseInt(st[0]);
            int num = Integer.parseInt(st[1]);
            if (ch == 1) {
                op = (a) -> {return a % 2 != 0;};
                ret = ob.checker(op, num);
                ans = (ret) ? "ODD" : "EVEN";
            } else if (ch == 2) {
                op = (a) -> {
                        if (a < 2) {
                            return false;
                        } else if (a == 2) {
                            return true;
                        } else if (a % 2 == 0) {
                            return false;
                        }
                        int sqrt = (int) Math.sqrt(a);
                        for (int i = 3; i <= sqrt; i += 2) {
                            if (a % i == 0) {
                                return false;
                            }
                        }
                        return true;
                        };
                ret = ob.checker(op, num);
                ans = (ret) ? "PRIME" : "COMPOSITE";
            } else if (ch == 3) {
                op = a -> {
                        String str = String.valueOf(a);
                        int start = 0;
                        int end = str.length() - 1;
                        while (start < end) {
                            if (str.charAt(start) != str.charAt(end)) {
                                return false;
                            }
                            start++;
                            end--;
                        }
                        return true;
                    };
                ret = ob.checker(op, num);
                ans = (ret) ? "PALINDROME" : "NOT PALINDROME";
    
            }
            System.out.println(ans);
        }
        br.close();
    }
    

    }

    @FunctionalInterface interface PerformOperation { boolean check(int a); } class MyMath { public boolean checker(PerformOperation p, int num) { return p.check(num); } }

    `

  • + 0 comments

    This problem isn't specitic enough. I don't know what it wants me to do. I literally don't know what the problem is asking. A lot of the problems in this section "Java" are very specific, and do a great job to introduce new concepts, so that's what I expect. Furthermore, I do not understand the code. There is an interface that has not been implemented, then another class called "MyMath" that calls methods from that interface? If I don't understand how this code even works, how am I supposed to complete it? If I have never used a Lambda expression in my life, I should be able to read the problem, do a bit of research, then solve it.

  • + 0 comments

    The problem description should be more specific, especially about returned output for a case when a number is not a palindrome, it looks that expected text then is "NOT PALINDROME". It also looks that test cases contain only some small numbers and algorithms do not have to be efficient.

  • + 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.*;
    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);
      }
     }
    }