我正在尝试输入一个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
数组?
最佳答案
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;
}
关于java - 双数组方法错误: Incompatible types: possible lossy conversion from double to int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34835250/