欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-05 23:45:41
...

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

Java中针对同一个类:

1、方法名相同

2、方法的参数不同(参数个数或者参数类型)

3、方法的返回值类型不影响重载.

使用重载时,输入的值必须和方法接收的参数相对应,不然会报错。

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

在同一个类中定义多个方法求最大值方法的重载:

要求不仅可以求两个整数的最大值,还可以求两个小数的最大值,以及两个小数和一个整数的大小关系

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
相关标签: 方法重载