Java方法的重载理解及使用(利用方法重载求两/三个数最大值或者求和)
程序员文章站
2022-04-05 23:45:41
...
重载(在一个程序中可以定义多个名称相同的方法,但是参数的类型和个数必须不同)
Java中针对同一个类:
1、方法名相同
2、方法的参数不同(参数个数或者参数类型)
3、方法的返回值类型不影响重载.
使用重载时,输入的值必须和方法接收的参数相对应,不然会报错。
在同一个类中定义多个方法求最大值方法的重载:
要求不仅可以求两个整数的最大值,还可以求两个小数的最大值,以及两个小数和一个整数的大小关系
import java.util.Scanner;
public class operNum {
public static void main(String[] args) {
System.out.println("输入数字的个数为:");
Scanner sc = new Scanner (System.in);
int k = sc.nextInt();
if(k==2){
System.out.println("输入数字:");
int a = sc.nextInt();
int b = sc.nextInt();
int num1 = max( a , b );
System.out.println("最大值为:"+num1);//输出两个整数比较大小的值
double c = sc.nextDouble();
double d = sc.nextDouble();
double num2 = max( c , d );
System.out.println("最大值为:"+num2);//输出两个双精度浮点数比较大小的值
}else if (k==3){
System.out.println("输入数字:");
double e = sc.nextDouble();
double f = sc.nextDouble();
int g = sc.nextInt();
double num3 = max( e , f , g );
System.out.println("最大值为:"+num3);//输出两个双精度和一个整数比较大小的值
}
}
public static int max(int a, int b){
int i = a>b?a:b;
return i ;
}
public static double max(double a, double b){
double i = a>b?a:b;
return i ;
}
public static double max(double e, double f, int g){
double i = max(e,f)>g?max(e,f):g;
return i ;
}
}
测试:
输入数字的个数为:
2
输入数字:
51
62
最大值为:62
2.62
55.68
最大值为:55.68
输入数字的个数为:
3
输入数字:
12316.26
1122.56
223665
最大值为:223665.0
求和的重载
在同一个类中,分别定义求两个整数的方法和三个小数之和的方法。 并执行代码,求出结果
import java.util.Scanner;
public class operNum {
public static void main(String[] args) {
System.out.println("输入数字的个数为:");
Scanner sc = new Scanner (System.in);
int k = sc.nextInt();
if(k==2){
System.out.println("输入数字:");
int a = sc.nextInt();
int b = sc.nextInt();
int sum1 = add( a , b );
System.out.println("两数之和为:"+sum1);
}else if (k==3){
System.out.println("输入数字:");
double e = sc.nextDouble();
double f = sc.nextDouble();
double g = sc.nextDouble();
double sum2 = add( e , f , g );
System.out.println("两数之和为:"+sum2);
}
}
public static int add(int a, int b){
int i = a + b ;
return i ;
}
public static double add(double e, double f, double g){
double i = e + f + g;
return i ;
}
}
测试:
输入数字的个数为:
2
输入数字:
5
63
两数之和为:68
输入数字的个数为:
3
输入数字:
2.4654
3.15
99.6
两数之和为:105.21539999999999
上一篇: MySQL层级数据查询
下一篇: MongoDB索引的管理和类型