Java Lambda Expression

Java Lambda Expression

Hello Friends, How are you? Today I will solve the HackerRank Java Lambda Expression – Problem with a straightforward explanation. In this article, you will get more than one approach to solve this problem. So let’s start- {tocify} $title={Table of Contents} This Java 8 challenge tests your knowledge of Lambda expressions! Write the following methods that return a lambda expression performing a specified action:

  1. PerformOperation isOdd(): The lambda expression must return true if a number is odd or false if it is even.
  2. PerformOperation isPrime(): The lambda expression must return true if a number is prime or false if it is composite.
  3. PerformOperation isPalindrome(): The lambda expression must return true if a number is a palindrome or false if it is not.

Input is handled for you by the locked stub code in your editor. The locked stub code in your editor will print T lines of output. The first line contains an integer, T (the number of test cases). The T subsequent lines each describe a test case in the form of 2 space-separated integers: The first integer specifies the condition to check for (1 for Odd/Even, 2 for Prime, or 3 for Palindrome). The second integer denotes the number to be checked.

5 1 4 2 5 3 898 1 3 2 12 {codeBox}

EVEN PRIME PALINDROME ODD COMPOSITE {codeBox}

Java Lambda Expression HackerRank Solution Approach I: Java Lambda Expression – Solution HackerRank


// ======================== // Information // ======================== // Name: Java Lambda Expression HackerRank Problem // Direct Link: https://www.hackerrank.com/challenges/java-lambda-expressions/problem // Difficulty: Medium // Max Score: 30 // Language: Java 8 // ======================== // Solution Start // ======================== // Java Lambda Expression - Hacker Rank Solution Start 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); } // Write your code here public PerformOperation isOdd() { return (num) -> num % 2 != 0; } public PerformOperation isPrime() { return (num) -> { for (int i = 2; i Integer.toString(num).equals( new StringBuilder(Integer.toString(num)).reverse().toString() ); } } 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); } } } // Java Lambda Expression Hacker Rank Solution END // MyEduWaves

Approach II: Java Lambda Expression – Solution HackerRank

// ========================
// Information
// ======================== // Name: Java Lambda Expression HackerRank Problem
// Direct Link: https://www.hackerrank.com/challenges/java-lambda-expressions/problem
// Difficulty: Medium
// Max Score: 30
// Language: Java 8 // ========================
// Solution Start
// ======================== // Java Lambda Expression - Hacker Rank Solution Start 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); } // Write your code here public static PerformOperation isOdd() { return (int n) -> n % 2 != 0; } public static PerformOperation isPalindrome() { return (int n) -> String.valueOf(n).equals((new StringBuilder(String.valueOf(n)).reverse().toString())); } public static PerformOperation isPrime() { return (int n) -> java.math.BigInteger.valueOf(n).isProbablePrime(1); }
} 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); } }
} // Java Lambda Expression Hacker Rank Solution END
// MyEduWaves
No Comments

Sorry, the comment form is closed at this time.