我需要幫助我寫一段代碼。我想計算一個數組的中位數。最初這些類型都是整數,並且用整數除法得出中值,這給了我一個錯誤的答案。我改變了一切雙打,但我得到一個類型不匹配的錯誤,說我不能將雙打轉換爲沒有意義的整數。有人可以幫忙嗎?這是我的代碼:Java中位錯誤
public class MedianTest {
public static void main(String[] args) {
double median = 0;
double myValues[] = { 1, 2, 3, 4 };
double arrayHalfOdd = ((myValues.length - 1)/2) + 1;
double arrayHalfEven = ((myValues.length - 1)/2);
if ((myValues.length - 1) % 2 == 0) {
median = (myValues[arrayHalfEven] + myValues[arrayHalfEven + 1])/2;
} else {
median = myValues[arrayHalfOdd];
}
System.out.print(median);
}
}
的錯誤是在myValues [arrayHalfEven]和myValues [arrayHalfOdd]
通過這不是功課
不要忘記讓你的代碼安全只對一個元素列表... – Adam 2012-03-09 23:24:28