Java 双数组方法错误:不兼容的类型:可能存在从Double到int的有损转换

Java 双数组方法错误:不兼容的类型:可能存在从Double到int的有损转换,java,arrays,double,Java,Arrays,Double,我试图输入一个double数组,但在代码中收到一条错误消息 public static double getHighNumber(double[] numbers) { int a, b, t; for (a = 2; a < 11; a++) { for (b = 10; b + 1 >= a; b--) { if (numbers[b - 1] > numbers[b]) { t =

我试图输入一个
double
数组,但在代码中收到一条错误消息

public static double getHighNumber(double[] numbers) {
    int a, b, t;

    for (a = 2; a < 11; a++) {
        for (b = 10; b + 1 >= a; b--) {
            if (numbers[b - 1] > numbers[b]) {
                t = numbers[b - 1];
                numbers[b - 1] = numbers[b];
                numbers[b] = t;
            }
        }
    }
    return numbers[10];
}
公共静态双getHighNumber(双[]数字){
int a,b,t;
对于(a=2;a<11;a++){
对于(b=10;b+1>=a;b--){
如果(数字[b-1]>数字[b]){
t=数字[b-1];
数字[b-1]=数字[b];
数字[b]=t;
}
}
}
返回编号[10];
}
在线
t=数字[b-1]


如果我使用
int
数组,而不是
double
数组,那么它可以正常编译和工作。如何更改该方法以使其接受
double
数组?

numbers
double
t
也应该是(根据您的代码,这将使
t=numbers[b-1];
有效)。大概

int a, b; // , t;
double t;
但是,如果你只想要最高的数字;然后你可以做类似的事情

public static double getHighNumber(double[] numbers) {
    double h = numbers[0];
    for (int i = 1; i < numbers.length; i++) {
        h = Math.max(h, numbers[i]);
    }
    return h;
}
公共静态双getHighNumber(双[]数字){
双h=数字[0];
对于(int i=1;i
啊,成功了,谢谢!我不知道数学。麦克斯,也谢谢你的建议:)