面向对象程序设计上机练习一(函数重载)

时间:2020-12-15 17:22:08

Problem Description
利用数组和函数重载求5个数最大值(分别考虑整数、单精度、长整数的情况)。
Input
分别输入5个int型整数、5个float 型实数、5个long型正整数。
Output
分别输出5个int型整数的最大值、5个float 型实数的最大值、5个long型正整数的最大值。
Sample Input
11 22 666 44 55
11.11 22.22 33.33 888.88 55.55
1234567 222222 333333 444444 555555
Sample Output
666
888.88
1234567

import java.util.Scanner;
class Js{
    static int max1;
    static float max2;
    static long max3;
    public Js() {
        max1 = 0;
        max2 = 0;
        max3 = 0;
    }
    public static int getmax(int a[]) {//类方法只能调用类变量
        max1 = a[0];
        for(int i = 1; i < 5; i++) {
            if(max1 < a[i]) {
                max1 = a[i];
            }
        }
        return max1;
    }
    public static float getmax(float b[]) {//类方法只能调用类变量
        max2 = b[0];
        for(int i = 1; i < 5; i++) {
            if(max2 < b[i]) {
                max2 = b[i];
            }
        }
        return max2;
    }
    public static long getmax(long c[]) {//类方法只能调用类变量
        max3 = c[0];
        for(int i = 1; i < 5; i++) {
            if(max3 < c[i]) {
                max3 = c[i];
            }
        }
        return max3;
    }
}
public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a[] = new int[5];
        float b[] = new float[5];
        long c[] = new long[5];
        for(int i = 0; i < 5; i++) {
            a[i] = sc.nextInt();
        }
        for(int i = 0; i < 5; i++) {
            b[i] = sc.nextFloat();
        }
        for(int i = 0; i < 5; i++) {
            c[i] = sc.nextLong();
        }
        System.out.println(Js.getmax(a));
        System.out.println(Js.getmax(b));
        System.out.println(Js.getmax(c));
        sc.close();
    }

}