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

时间:2016-01-17 04:55:00

标签: 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 = numbers[b - 1];
                numbers[b - 1] = numbers[b];
                numbers[b] = t;
            }
        }
    }
    return numbers[10];
}

t = numbers[b-1];

如果我使用int数组但不使用double数组,它会编译并正常工作。如何更改方法以使其接受double数组?

1 个答案:

答案 0 :(得分:2)

numbersdoublet也应该是{根据您的代码,这将使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;
}