public class JavaTracingStaticMethods { public static void main(String[] args) { System.out.println(factorial(4)); System.out.println(weird(addFive(3))); System.out.println(factorial(2) + addFive(-5)); System.out.println(max2(-3, 4, 5)); System.out.println(max(5, 8, -4)); System.out.println(max(1, 2, max(9, 3, 2))); System.out.println(factorial(2 + 1)); System.out.println(max(factorial(2), factorial(4), 0)); System.out.println(weird(0 - 4)); System.out.println(weird(weird(3))); System.out.println(computeAverage(4, 2)); System.out.println(findMedian(5, 8, 1)); System.out.println(computeAverage(5, 2)); System.out.println(computeAverage2(5, 2)); System.out.println(computeAverage(10 + 2, 10)); System.out.println(isOverLimit(10000 / 2000)); System.out.println(isOverLimit2(5)); System.out.println(addRange(5, 8)); System.out.println(addRange2(8, 5)); System.out.println(addRange2(5, 5)); } //************************************************************************* public static int factorial(int num) { int i = 1; int product = 1; for (i = 1; i <= num; i++) { product = product * i; } return product; } //************************************************************************* public static int addFive(int num) { return num + 5; } //************************************************************************* public static int weird(int num) { if (num > 0) { return 10; } return 3; } //************************************************************************* public static int max(int x, int y, int z) { if (x > y && x > z) { return x; } else if (y > x && y > z) { return y; } return z; } //************************************************************************* public static int max2(int x, int y, int z) { return Math.max(x, Math.max(y, z)); } //************************************************************************* public static double computeAverage(int num1, int num2) { double sum = num1 + num2; return sum / 2; } //************************************************************************* public static int computeAverage2(int x, int y) { return (x + y) / 2; } //************************************************************************* public static int findMedian(int x, int y, int z) { return (x+y+z) - Math.max(x, Math.max(y,z))-Math.min(x, Math.min(y,z)); } //************************************************************************* public static boolean isOverLimit(int num) { if (num > 500) { return true; } return false; } //************************************************************************* public static int isOverLimit2(int num) { if (isOverLimit(num) == true) { return 1; } return 0; } //************************************************************************* public static int addRange(int num1, int num2) { int temp = 0; int i = 0; for (i = num1; i <= num2; i++) { temp = temp + i; } return temp; } //************************************************************************* public static int addRange2(int num1, int num2) { if (num1 == num2) { return num1; } else if (num2 < num1) { return addRange(num2, num1); } return addRange(num1, num2); } }