编写Java程序,要求利用方法重载,求任意2个数或3个数的最大数,其中,这2个数或3个数要么全是整数,要么全是浮点数。
-
编写Java程序,要求利用方法重载,求任意2个数或3个数的最大数,其中,这2个数或3个数要么全是整数,要么全是浮点数。
提示:
(1)方法重载在2个数中使用2次,3个数中使用2次;
(2)求3个数的时候也可以使用2个数的方法。 -
方法重载:详细文章参考
方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的顺序不同。
方法重载规则:
1)被重载的方法必须改变参数列表;
2)被重载的方法可以改变返回类型;
3)被重载的方法可以改变访问修饰符;
4)被重载的方法可以声明新的或更广的检查异常;
5)方法能够在同一个类中或者在一个子类中被重载。`
/**
* @author ThinkPad
*/
public class MaxValueTest {
/**
* 求两个整数的最大数
*
* @param num1 num1
* @param num2 num2
* @return max
*/
public static int getMax(int num1, int num2) {
return Math.max(num1, num2);
}
/**
* 求两个浮点数的最大数
*
* @param num1 num1
* @param num2 num2
* @return max
*/
public static float getMax(float num1, float num2) {
return Math.max(num1, num2);
}
/**
* 求三个整数的最大数
*
* @param num1 num1
* @param num2 num2
* @param num3 num3
* @return max
*/
public static int getMax(int num1, int num2, int num3) {
int max = getMax(num1, num2);
return Math.max(max, num3);
}
/**
* 求三个浮点数的最大数
*
* @param num1 num1
* @param num2 num2
* @param num3 num3
* @return max
*/
public static float getMax(float num1, float num2, float num3) {
float max = getMax(num1, num2);
return Math.max(max, num3);
}
}
- 测试类
public class MaxValueMain {
public static void main(String[] args) {
int num1 = 23;
int num2 = 10;
System.out.println("num1=" + num1 + ", num2=" + num2);
int max = MaxValueTest.getMax(num1, num2);
System.out.println("两个整数的最大值:" + max);
float a = 10.8f;
float b = 13.6f;
System.out.println("a=" + a + ", b=" + b);
float max2 = MaxValueTest.getMax(a, b);
System.out.println("两个浮点数的最大值:" + max2);
int num11 = 23;
int num21 = 10;
int num31 = 34;
System.out.println("num11=" + num11 + ", num21=" + num21 + ", num31=" + num31);
int max3 = MaxValueTest.getMax(num11, num21, num31);
System.out.println("三个整数的最大值:" + max3);
float a1 = 10.8f;
float b2 = 13.6f;
float c3 = 16.6f;
System.out.println("a1=" + a1 + ", b2=" + b2 + ", c3=" + c3);
float max4 = MaxValueTest.getMax(a1, b2, c3);
System.out.println("三个浮点数的最大值:" + max4);
}
}
运行结果