/** * A small example of method name overloading in Java * The point is that I can have the same name method * and yy varying the args each method can do slightly different * things. Of course, the things should be highly related. * * @author ggtowell * Created: Oct 27, 2023 */ public class MyPower { public static void main(String[] args) { System.out.println(myPower(5, 2)); System.out.println(myPower(5, -2)); System.out.println(myPower(5, -2.0)); } /** * Compute raise base number of a power when power is integer. * @param base the number to be raised. * @param power the power * @return base**power */ public static double myPower(double base, int power) { System.out.println("DI"); double answ = 1.0; if (power > 0) { for (int i = 1; i <= power; i++) { answ *= base; } } else { for (int i = -1; i >= power; i--) { answ /= base; } } return answ; } /** * Raise a number to a power when power is NOT integer * @param base the number to be raised. * @param power the power * @return base**power */ public static double myPower(double base, double power) { System.out.println("DD"); return Math.pow(base, power); } }