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

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。Java方法的重载理解及使用(利用方法重载求两/三个数最大值或者求和),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153009.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!