KaiquanMah's picture
Create 6b. Return the middle number
3cb012f verified
Write the method
middle
...which takes three integers as parameters. The method returns the middle of the numbers in order of magnitude.
Example method calls:
public static void main(String[] args) {
System.out.println(middle(1, 3, 2);
int mid = middle(8, 9, 7);
System.out.println(mid);
}
Program outputs:
2
8
import java.util.Random;
public class Test{
public static void main(String[] args){
final Random r = new Random();
Object[][] p = {{1,4,3}, {121,145,94}, {20,30,40}, {9,7,8}, {99,77,88}};
for (Object[] pa : p) {
System.out.print("Testing with parameters ");
System.out.println(pa[0] + ", " + pa[1] + ", " + pa[2]);
System.out.print("Middle: ");
System.out.println(middle((Integer) pa[0], (Integer) pa[1], (Integer) pa[2]));
System.out.println("");
}
}
public static int middle(int int1, int int2, int int3) {
int middle = 0;
// 2-1-3, 3-1-2
if ((int1 > int2 && int1 < int3) || (int3 < int1 && int1 < int2)) {
middle = int1;
}
// 1-2-3, 3-2-1
else if ((int2 > int1 && int2 < int3) || (int2 > int3 && int2 < int1)) {
middle = int2;
}
// 2-3-1, 1-3-2
else {
middle = int3;
}
return middle;
}
}
Testing with parameters 1, 4, 3
Middle: 3
Testing with parameters 121, 145, 94
Middle: 121
Testing with parameters 20, 30, 40
Middle: 30
Testing with parameters 9, 7, 8
Middle: 8
Testing with parameters 99, 77, 88
Middle: 88