Java方法的重载理解及使用(利用方法重载求两/三个数最大值或者求和)

重载(在一个程序中可以定义多个名称相同的方法,但是参数的类型和个数必须不同

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
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值