重载方法练习2:定义三个重载方法max(),第一个方法求两个int值中的最大值,第二个方法求两个double值中的最大值,第三个方法求三个double值中的最大值,并分别调用三个方法。
方法1:
public class Circle {
public void max(int x,int y) {
if(x > y) {
System.out.println("最大值是:" + x);
}
else {
System.out.println("最大值是:" + y);
}
}
public void max(double x,double y) {
if(x > y) {
System.out.println("最大值是:" + x);
}
else {
System.out.println("最大值是:" + y);
}
}
public void max(double x,double y,double z) {
if(x > y) {
if(x > z) {
System.out.println("最大值是:" + x);
}
else if(y > z) {
System.out.println("最大值是:" + y);
}
else {
System.out.println("最大值是:" + z);
}
}
if(x > z) {
if(x > y) {
System.out.println("最大值是:" + x);
}
else if(y > z) {
System.out.println("最大值是:" + y);
}
else {
System.out.println("最大值是:" + z);
}
}
if(y > z) {
if(y > x) {
System.out.println("最大值是:" + y);
}
else if(z > x) {
System.out.println("最大值是:" + z);
}
else {
System.out.println("最大值是:" + x);
}
}
}
public static void main(String[] args) {
Circle cir = new Circle();
cir.max(4, 999);
cir.max(3.4444, 3.4421);
cir.max(2.33, 4.33, 3.9098);
}
}
方法2(利用三目运算符):
public class Circle {
public void max(int x,int y) {
System.out.println("最大值是:" + ((x>y) ? x:y));
}
public void max(double x,double y) {
System.out.println("最大值是:" + ((x>y) ? x:y));
}
public void max(double x,double y,double z) {
System.out.println("最大值是:" + ((x>y ? x:y) > z ? (x>y ? x:y):z));
}
public static void main(String[] args) {
Circle cir = new Circle();
cir.max(4, 999);
cir.max(3.4444, 3.4421);
cir.max(2.33, 4.33, 3.9098);
}
}