biryu2205 / Biryu

0 stars 0 forks source link

Hackerrank Java Interface #77

Closed biryu2205 closed 6 years ago

biryu2205 commented 6 years ago
class MyCalculator implements AdvancedArithmetic {
  public int divisor_sum(int n) {
    int sum = 0;
    for (int i = 1; i <= n; i++)
    {
      if (n % i == 0)
      {
        sum += i;
      }
    }
    return sum;
  }
}
letientai299 commented 6 years ago

Code format.

biryu2205 commented 6 years ago

Update code

import java.util.Scanner;

interface AdvancedArithmetic {
  int divisor_sum(int n);
}

class MyCalculator implements AdvancedArithmetic {
  public int divisor_sum(int n) {
    int sum = 0;
    for (int i = 1; i <= n; i++) {
      if (n % i == 0) {
        sum += i;
      }
    }
    return sum;
  }
}

class Solution {
  public static void main(String[] args) {
    MyCalculator my_calculator = new MyCalculator();
    System.out.print("I implemented: ");
    ImplementedInterfaceNames(my_calculator);
    Scanner sc = new Scanner(System.in);
    int n = sc.nextInt();
    System.out.print(my_calculator.divisor_sum(n) + "\n");
    sc.close();
  }

  /*
   *  ImplementedInterfaceNames method takes an object and prints the name of the interfaces it implemented
   */
  static void ImplementedInterfaceNames(Object o) {
    Class[] theInterfaces = o.getClass().getInterfaces();
    for (int i = 0; i < theInterfaces.length; i++) {
      String interfaceName = theInterfaces[i].getName();
      System.out.println(interfaceName);
    }
  }
}