Я попробовал реализовать интерфейсы. Но поиск имени интерфейса дал null. Пожалуйста помочь.
import java.util.*; public class TestClass { public static String interfaceName; public static void main(String[] args) { MyCalculator my_calculator=new MyCalculator(); Scanner nw=new Scanner(System.in); int no=nw.nextInt(); System.out.println("I implemented "+interfaceName); System.out.print(my_calculator.divisor_sum(no)); } static void ImplementedInterfaceNames(Object o){ Class[] theInterfaces = o.getClass().getInterfaces(); for (int i = 0; i < theInterfaces.length; i++){ interfaceName = theInterfaces[i].getName();} } } interface AdvancedArithmatic{ int divisor_sum(int n); } class MyCalculator implements AdvancedArithmatic{ @Override public int divisor_sum(int n) { int mySum=0; for(int i=1;i<=n;i++){ if(n%i==0) mySum+=i; } return mySum; } }
Что я уже пробовал:
import java.util.*; public class TestClass { public static String interfaceName; public static void main(String[] args) { MyCalculator my_calculator=new MyCalculator(); Scanner nw=new Scanner(System.in); int no=nw.nextInt(); System.out.println("I implemented "+interfaceName); System.out.print(my_calculator.divisor_sum(no)); } static void ImplementedInterfaceNames(Object o){ Class[] theInterfaces = o.getClass().getInterfaces(); for (int i = 0; i < theInterfaces.length; i++){ interfaceName = theInterfaces[i].getName();} } } interface AdvancedArithmatic{ int divisor_sum(int n); } class MyCalculator implements AdvancedArithmatic{ @Override public int divisor_sum(int n) { int mySum=0; for(int i=1;i<=n;i++){ if(n%i==0) mySum+=i; } return mySum; } }