我目前正在爲我的高中計算機科學類做一項任務,我遇到了一個問題,我得到的錯誤「double []不能轉換爲double」。然而,我很困惑,因爲我告訴一個特定的方法返回一個雙數組。無法將雙精度數組轉換爲數組
public static double [] getHits(int attempts) {
Random ranInt = new Random();
int range = ranInt.nextInt(2) - 1;
double hits = 0;
double [] hitsInTrial = new double[attempts];
double radius = 1;
double x = Math.pow(range, 2);
double y = Math.pow(range, 2);
for(int index = 0; index < attempts; index++)
{
if(!(x + y <= radius))
{
hits++;
}
hitsInTrial[index] = hits;
}
return hitsInTrial;
}
^這個方法應該返回hitsInTrial的雙陣列(我覺得如果有些數據是錯誤的,但我擔心的是我得到了我的問題解決後)。
public static void main()
{
Scanner in = new Scanner(System.in);
System.out.print("How many darts/trials?: ");
int dartThrows = in.nextInt();
double[] trials = new double[10];
double[] hits = new double[dartThrows];
for(int index = 0; index < trials.length; index++)
{
hits[index] = getHits(dartThrows);
}
}
我得到命中[index] = getsHits(dartThrows)中的錯誤;區。我很困惑,因爲方法getHits被告知返回一個雙精度數組,但我得到了「不能轉換」的錯誤。任何幫助將不勝感激,因爲作爲一個新手,我不太確定有什麼問題。
我省略了兩種方法,一種是使用數據計算pi,一種是打印結果。這些方法沒有產生錯誤,但如果我需要提供它們來幫助解答,請告訴我。
雅我就是這麼做的 – Kode 2015-02-11 20:28:02