We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • HackerRank Home

    HackerRank

  • |
  • Prepare
  • Certify
  • Compete
  • Hiring developers?
  1. Prepare
  2. Java
  3. Advanced
  4. Can You Access?
  5. Discussions

Can You Access?

Problem
Submissions
Leaderboard
Discussions
Editorial

    You are viewing a single comment's thread. Return to all comments →

  • thebugbounter
    2 months ago+ 0 comments

    Solution of "Can you Acess?" in Java 15

    import java.io.; import java.lang.reflect.; import java.util.; import java.util.regex.; import java.security.*;

    public class Solution {

    public static void main(String[] args) throws Exception {
        DoNotTerminate.forbidExit();    
    
        try{
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            int num = Integer.parseInt(br.readLine().trim());
            Object o;// Must be used to hold the reference of the instance of the class Solution.Inner.Private
    
        Inner inner = new Inner();
        o = inner.new Private();
        Inner.Private innerPrivate = (Inner.Private) o;
        String response = innerPrivate.powerof2(num);
        System.out.println(num + " is " + response);
    
        System.out.println("An instance of class: " + o.getClass().getCanonicalName() + " has been created");
    
        }//end of try
    
        catch (DoNotTerminate.ExitTrappedException e) {
            System.out.println("Unsuccessful Termination!!");
        }
    }//end of main
    static class Inner{
        private class Private{
            private String powerof2(int num){
                return ((num&num-1)==0)?"power of 2":"not a power of 2";
            }
        }
    }//end of Inner
    

    }//end of Solution

    class DoNotTerminate { //This class prevents exit(0)

    public static class ExitTrappedException extends SecurityException {
    
        private static final long serialVersionUID = 1L;
    }
    
    public static void forbidExit() {
        final SecurityManager securityManager = new SecurityManager() {
            @Override
            public void checkPermission(Permission permission) {
                if (permission.getName().contains("exitVM")) {
                    throw new ExitTrappedException();
                }
            }
        };
        System.setSecurityManager(securityManager);
    }
    

    }

    0|
    Permalink
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy