我目前正在为我的高中计算机科学类做一项任务,我遇到了一个问题,我得到的错误“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