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.
- Prepare
- Java
- Advanced
- Java Annotations
- Discussions
Java Annotations
Java Annotations
Sort by
recency
|
94 Discussions
|
Please Login in order to post a comment
This is a great overview of how Java annotations work and how they help attach meaningful metadata to classes and methods. Funinexchange
Really intriguing question about Roku portability! While you figure that out, if you ever travel to or within Australia, Ozway Transfers is your go-to for stress-free airport and intercity rides in Sydney and beyond. Their services are reliable, comfortable, and always on time. Check them out and 👉 Book Now to lock in your next ride.
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)); }
}
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--; } } }
Here is Java Annotations solution - https://programmingoneonone.com/hackerrank-java-annotations-problem-solution.html
Works for Java 7 and 8. Does not work for Java 15