[英]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)
返回類型為 object 的double
。
當你想調用一個方法並在變量中獲取結果時,你需要確保變量與方法返回的類型相同。
您需要更改此行:
double[] med = median(numbers);
和
double med = median(numbers);
此處,變量的類型為double
並且該方法返回double
。 兩種類型都匹配,編譯器很高興並且您的代碼可以編譯。 但在你的情況下,類型是double[]
並且該方法返回一個double
object ...沒有匹配項,所以你的代碼無法編譯
您的 median() 方法應該返回一個“double”值而不是一個 double 值數組。
public static void main(String[] args) {
int[] numbers = {25,36,38,63,89,52,74};
double med = median(numbers); // remove [] on this line.
}
您正在返回一個 double 值,但您將其返回到一個 double 數組,類型不匹配。
導入 java.util.*; 公共 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];
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.