如何在Java重载中获取结果值

时间:2018-11-27 01:40:43

标签: java overloading

我想编写一个程序,如果输入为true,则将其添加ab,如果输入为false,则将其减去{{ 1}}来自b。另外,当它是a时,如果输入是ArrayList,则选择最大值;如果输入是true,则选择最小值。

false

但是我无法获得结果值。 我怎么才能得到它? 谢谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我认为您正在尝试调用这些方法,但是目前您只是在附加Strings

System.out.println("dist(" + mm.a + ", " + mm.b + ", " + true + ") = ");

应该是

System.out.println(mm.dist(mm.a, mm.b, true);

,因为字段ab是该类的一部分,因此不必传递它们

答案 1 :(得分:0)

class OverLoading
{
    int a = (int) (Math.random() * 100) + 1;
int b = (int) (Math.random() * 100) + 1;

int dist(int a, int b, boolean d) {
    return d == true ? a + b : a - b;
}

int dist(int[] a, boolean d) {
        int max, min;
        max = min = a[0];
    for (int j = 0; j < a.length; j++) {
        if (max < a[j])
            max = a[j];
        if (min > a[j])
            min = a[j];
    }
    return  d == true ? max : min;
}
}

public class HelloWorld{

    public static void main(String[] args) {
    OverLoading mm = new OverLoading();

    int[] a = new int[10];
    System.out.println("\n");
    for (int i = 0; i < a.length; i++)
    {
        a[i] = (int) (Math.random() * 100) + 1;
        System.out.println(a[i]);
    }
    System.out.println("\n");
    System.out.println("dist(" + mm.a + ", " + mm.b + ", " + true + ") = "+mm.dist(mm.a,mm.b,true));
    System.out.println("dist(" + mm.a + ", " + mm.b + ", " + false + ") = "+mm.dist(mm.a,mm.b,false));
    System.out.println("dist(arr, " + true + ") = "+mm.dist(a,true));
    System.out.println("dist(arr, " + false + ") = "+mm.dist(a,false));
}
}