2016-06-12 22 views
1

将数组的元素的值赋给double值时有问题。不能在java中赋值数组的元素

如果与此代码,我得到point_check的值是[8226.3447987]

double[] point_check = new double[1]; 
point_check = dt.get((int)cY,(int) cX); 
Log.i("bbb_1", Arrays.toString(point_check)); 

但是,当我将其分配到1组值的两倍。它不跑,说应用采空(我写在Android Studio中的代码)

double[] point_check = new double[1]; 
point_check = dt.get((int)cY,(int) cX); 
Log.i("bbb_1", Arrays.toString(point_check)); 
double point_check_1 = point_check[0]; 
Log.i("bbb",String.valueOf(point_check_1)); 

我该如何解决什么问题,它和

+0

LogCat中的错误是什么? –

+0

dt.get(int,int)返回的方法是什么?是双倍还是双倍? – WrongRhyme

回答

0

要解决你的代码,你需要这样的代码:

point_check = dt.get((int)cY, (int) cX); 

为:

point_check[0] = dt.get((int)cY, (int) cX); 

你被所述阵列设置为等于一个对象,而不是添加广告对数组非常重要。

+0

不一定。方法dt.get可以返回一个双精度数组。在这种情况下,它会好的。他需要做的是检查方法dt.get(int,int)的返回值,如果这是他所期望的。 – WrongRhyme

+0

@WrongRhyme Ya,在那种情况下,我们无法帮助他,因为他没有把错误或dt.get(int,int)方法。 – Jop

+0

dt是一个矩阵和方法dt.get return double []我试图用你的方式,但它不接受,我认为问题不在这里,我可以得到并看到point_check的值。但问题是,当我将它分配给double point_check_1,我的应用退出并说“对不起,应用有stppod” – Bruce