各位大神,利用方法重载求最大值 定义一个Maxer类,该类中声明成员方法Max的两种重载形式,分别计算一组整数和一组浮点数中的最大值。在main方法中调用Max ,并输出结果。

package abc;

public class Maxer1 {
int t,i,j,x,y;
double z;

public int Max(int a[] ) {
     for (i=0; i<a.length; i++)  
        {
            for (j=0; j<a.length-i; j++)  
            {
                if (a[j] < a[j+1])
                {
                    t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
                }
            }
        }
    return a[0];
}
public double Max(double b[]) {
     for (x=0; x<b.length; x++)  
        {
            for (y=0; y<b.length-x; y++)  
            {
                if (b[y ] < b[y+1])
                {
                    z = b[y];
                    b[y] = b[y+1];
                    b[y+1] = z;
                }
            }
        }
    return b[0];
}


public static void main(String[] args)
{
    // TODO Auto-generated method stub
    Maxer1 m1=new Maxer1();
    int a[]= {1,2,3,4,5,6};
    double b[]= {2.0,3.0,4.0,5.0,6.0};
    int m=m1.Max(a);
    double n=m1.Max(b);
    System.out.println(m);
    System.out.println(n);

}
}

新手小白,想问问大神们,最后int m和double n输出的结果为什么会是错误的?

搜一下数据排序知道了

     for (i=0; i<a.length; i++)  
        {
            for (j=i; j<a.length-i; j++)  
            {
                if (a[i] > a[j+1])
                {
                    t = a[j];
                    a[j] = a[j+1];
                    a[j+1] = t;
                }
            }
        }

只返回最大值的话不需要2层循环吧。
直接定义一个max
1层循环找到大的进行交换
返回max