Java Day 19: Interfaces



The AdvancedArithmetic interface and the method declaration for the abstract divisorSum(n) method are provided for you in the editor below.

Complete the implementation of Calculator class, which implements the AdvancedArithmetic interface. The implementation for the divisorSum(n) method must return the sum of all divisors of n.

-HackerRank solution



  1. import java.io.*;
  2. import java.util.*;
  3. interface AdvancedArithmetic{
  4. int divisorSum(int n);
  5. }
  6. class Calculator implements AdvancedArithmetic {
  7. @Override
  8. public int divisorSum(int n) {
  9. int sum = 0;
  10. for (int i = 1; i <= n; i++) {
  11. if (n % i == 0) sum += i;
  12. }
  13. return sum;
  14. }
  15. }
  16. class Solution {
  17. public static void main(String[] args) {
  18. Scanner scan = new Scanner(System.in);
  19. int n = scan.nextInt();
  20. scan.close();
  21. AdvancedArithmetic myCalculator = new Calculator();
  22. int sum = myCalculator.divisorSum(n);
  23. System.out.println("I implemented: " + myCalculator.getClass().getInterfaces()[0].getName() );
  24. System.out.println(sum);
  25. }
  26. }