类型不匹配:无法将 double 转换为 double[]
Type Mismatch: Can't convert double into double[]
当我 运行 这个 java 代码时,我得到了错误。我是 java 的新手。谁能帮忙。
package raza.project.arrays;
import java.util.*;
public class arraysLearning {
public static void main(String[] args) {
int [] numbers = { 25,36,38,63,89,52,74};
double[] med = median(numbers);
}
//Return the median value of an array of numbers
//without changing the parameter array
public static double median(int[] numbers) {
int[] tmp = Arrays.copyOf(numbers, numbers.length);
Arrays.sort(tmp);
int mid = tmp.length/2; // Note: int division
if (tmp.length%2 == 0) { // even length?
return (tmp[mid-1]+tmp[mid])/2.0; //float division
}
else {
return tmp[mid];
}
}
}
java编译器是最新的jdk14
此方法:public static double median(int[] numbers)
returns double
.
类型的对象
当你想调用一个方法并在变量中获取结果时,你需要确保该变量与方法返回的类型相同。
您需要更改此行:
double[] med = median(numbers);
有
double med = median(numbers);
这里,变量是类型double
,方法returns是double
。两种类型都匹配,编译器很高兴并且您的代码可以编译。但是在你的情况下,类型是 double[]
并且方法 returns 是一个 double
对象......没有匹配,所以你的代码无法编译
您的 median() 方法应该return一个“双精度”值而不是一个双精度值数组。
public static void main(String[] args) {
int[] numbers = {25,36,38,63,89,52,74};
double med = median(numbers); // remove [] on this line.
}
您返回的是双精度值,但返回的是双精度数组,类型不匹配。
进口java.util.*;
public class 测试 {
public static void main(String[] args) {
int [] numbers = { 25,36,38,63,89,52,74};
double med = median(numbers);
}
//Return the median value of an array of numbers
//without changing the parameter array
public static double median(int[] numbers) {
int[] tmp = Arrays.copyOf(numbers, numbers.length);
Arrays.sort(tmp);
int mid = tmp.length/2; // Note: int division
if (tmp.length%2 == 0) { // even length?
return (tmp[mid-1]+tmp[mid])/2.0; //float division
}
else {
return tmp[mid];
}
}
}
当我 运行 这个 java 代码时,我得到了错误。我是 java 的新手。谁能帮忙。
package raza.project.arrays;
import java.util.*;
public class arraysLearning {
public static void main(String[] args) {
int [] numbers = { 25,36,38,63,89,52,74};
double[] med = median(numbers);
}
//Return the median value of an array of numbers
//without changing the parameter array
public static double median(int[] numbers) {
int[] tmp = Arrays.copyOf(numbers, numbers.length);
Arrays.sort(tmp);
int mid = tmp.length/2; // Note: int division
if (tmp.length%2 == 0) { // even length?
return (tmp[mid-1]+tmp[mid])/2.0; //float division
}
else {
return tmp[mid];
}
}
}
java编译器是最新的jdk14
此方法:public static double median(int[] numbers)
returns double
.
当你想调用一个方法并在变量中获取结果时,你需要确保该变量与方法返回的类型相同。
您需要更改此行:
double[] med = median(numbers);
有
double med = median(numbers);
这里,变量是类型double
,方法returns是double
。两种类型都匹配,编译器很高兴并且您的代码可以编译。但是在你的情况下,类型是 double[]
并且方法 returns 是一个 double
对象......没有匹配,所以你的代码无法编译
您的 median() 方法应该return一个“双精度”值而不是一个双精度值数组。
public static void main(String[] args) {
int[] numbers = {25,36,38,63,89,52,74};
double med = median(numbers); // remove [] on this line.
}
您返回的是双精度值,但返回的是双精度数组,类型不匹配。
进口java.util.*; public class 测试 {
public static void main(String[] args) {
int [] numbers = { 25,36,38,63,89,52,74};
double med = median(numbers);
}
//Return the median value of an array of numbers
//without changing the parameter array
public static double median(int[] numbers) {
int[] tmp = Arrays.copyOf(numbers, numbers.length);
Arrays.sort(tmp);
int mid = tmp.length/2; // Note: int division
if (tmp.length%2 == 0) { // even length?
return (tmp[mid-1]+tmp[mid])/2.0; //float division
}
else {
return tmp[mid];
}
}
}