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
啊,成功了,谢谢!我不知道数学。麦克斯,也谢谢你的建议:)