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. Java Annotations
  5. Discussions

Java Annotations

Problem
Submissions
Leaderboard
Discussions
Editorial

Sort 66 Discussions, By:

recency

Please Login in order to post a comment

  • jayantnishad34
    3 weeks ago+ 0 comments

    import java.lang.annotation.; import java.lang.reflect.; import java.util.*;

    @Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) @interface FamilyBudget { String userRole() default "GUEST"; int budgetLimit() default 100; }

    class FamilyMember { @FamilyBudget(userRole = "SENIOR", budgetLimit = 100) public void seniorMember(int budget, int moneySpend) { System.out.println("Senior Member"); System.out.println("Spend: " + moneySpend); System.out.println("Budget Left: " + (budget - moneySpend)); }

    @FamilyBudget(userRole = "JUNIOR", budgetLimit = 50)
    public void juniorUser(int budget, int moneySpend) {
        System.out.println("Junior Member");
        System.out.println("Spend: " + moneySpend);
        System.out.println("Budget Left: " + (budget - moneySpend));
    }
    

    }

    public class Solution { public static void main(String[] args) { Scanner in = new Scanner(System.in); int testCases = Integer.parseInt(in.nextLine()); while (testCases > 0) { String role = in.next(); int spend = in.nextInt(); try { Class annotatedClass = FamilyMember.class; Method[] methods = annotatedClass.getMethods(); for (Method method : methods) { if (method.isAnnotationPresent(FamilyBudget.class)) { FamilyBudget family = method .getAnnotation(FamilyBudget.class); String userRole = family.userRole(); int budgetLimit = family.budgetLimit(); if (userRole.equals(role)) { if(spend <= budgetLimit){ method.invoke(FamilyMember.class.newInstance(), budgetLimit, spend); }else{ System.out.println("Budget Limit Over"); } } } } } catch (Exception e) { e.printStackTrace(); } testCases--; } } }

    0|
    Permalink
  • technologyholder
    4 months ago+ 0 comments

    Here are the solution of Java Annotations Hacker Rank Solution

    -1|
    Permalink
  • abdinahmen
    5 months ago+ 1 comment
    import java.lang.annotation.*;
    import java.lang.reflect.*;
    import java.util.*;
    
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    @interface FamilyBudget {
    	String userRole() default "GUEST";
    	int budgetLimit() default 100;
    }
    
    class FamilyMember {
    	@FamilyBudget(userRole = "SENIOR", budgetLimit = 100)
    	public void seniorMember(int budget, int moneySpend) {
    		System.out.println("Senior Member");
    		System.out.println("Spend: " + moneySpend);
    		System.out.println("Budget Left: " + (budget - moneySpend));
    	}
    
    	@FamilyBudget(userRole = "JUNIOR", budgetLimit = 50)
    	public void juniorUser(int budget, int moneySpend) {
    		System.out.println("Junior Member");
    		System.out.println("Spend: " + moneySpend);
    		System.out.println("Budget Left: " + (budget - moneySpend));
    	}
    }
    
    public class Solution {
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		int testCases = Integer.parseInt(in.nextLine());
    		while (testCases > 0) {
    			String role = in.next();
    			int spend = in.nextInt();
    			try {
    				Class annotatedClass = FamilyMember.class;
    				Method[] methods = annotatedClass.getMethods();
    				for (Method method : methods) {
    					if (method.isAnnotationPresent(FamilyBudget.class)) {
    						FamilyBudget family = method
    								.getAnnotation(FamilyBudget.class);
    						String userRole = family.userRole();
    						int budgetLimit = family.budgetLimit();
    						if (userRole.equals(role)) {
    							if(spend <= budgetLimit){
    								method.invoke(FamilyMember.class.newInstance(),
    										budgetLimit, spend);
    							}else{
    								System.out.println("Budget Limit Over");
    							}
    						}
    					}
    				}
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    			testCases--;
    		}
    	}
    }
    
    0|
    Permalink
  • poonamdeorasurp1
    5 months ago+ 0 comments

    Here is problem solution - https://thecscience.com/hackerrank-java-annotations-problem-solution.html

    0|
    Permalink
  • sngrisa
    6 months ago+ 0 comments

    In Java 8

    import java.lang.annotation.*;
    import java.lang.reflect.*;
    import java.util.*;
    
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    @interface FamilyBudget {
    	String userRole() default "GUEST";
    	int budgetLimit() default 100;
    }
    
    class FamilyMember {
    	@FamilyBudget(userRole = "SENIOR")
    	public void seniorMember(int budget, int moneySpend) {
    		System.out.println("Senior Member");
    		System.out.println("Spend: " + moneySpend);
    		System.out.println("Budget Left: " + (budget - moneySpend));
    	}
    
    	@FamilyBudget(userRole = "JUNIOR", budgetLimit = 50)
    	public void juniorUser(int budget, int moneySpend) {
    		System.out.println("Junior Member");
    		System.out.println("Spend: " + moneySpend);
    		System.out.println("Budget Left: " + (budget - moneySpend));
    	}
    }
    
    public class Solution {
    	public static void main(String[] args) {
    		Scanner in = new Scanner(System.in);
    		int testCases = Integer.parseInt(in.nextLine());
    		while (testCases > 0) {
    			String role = in.next();
    			int spend = in.nextInt();
    			try {
    				Class annotatedClass = FamilyMember.class;
    				Method[] methods = annotatedClass.getMethods();
    				for (Method method : methods) {
    					if (method.isAnnotationPresent(FamilyBudget.class)) {
    						FamilyBudget family = method
    								.getAnnotation(FamilyBudget.class);
    						String userRole = family.userRole();
    						int budgetLimit = family.budgetLimit();
    						if (userRole.equals(role)) {
    							if(spend<=budgetLimit){
    								method.invoke(FamilyMember.class.newInstance(),
    										budgetLimit, spend);
    							}else{
    								System.out.println("Budget Limit Over");
    							}
    						}
    					}
    				}
    			} catch (Exception e) {
    				e.printStackTrace();
    			}
    			testCases--;
    		}
    	}
    }
    
    0|
    Permalink
Load more conversations

Need Help?


View editorial
View top submissions
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy