我有一个名为ITdouble的二维数组,我希望将一维数组I分配给二维数组的位置l中的字符。
我尝试过以下代码:
double[][] ITdouble = new double[32][2];
double[] I = new double [32];
for (int i=0; i<IT.length; i++)
{
for(int l=0; l<5; l++)
{
I[l]=ITdouble[i][0].charAt(l);
}
}
但是错误&#34; Double无法解除引用&#34;正在展示。有没有其他简单的方法可以做到这一点?
答案 0 :(得分:0)
charAt
是一种String
方法。根据您得到的错误,您的ITdouble
数组是double
数组,因此您无法在其上调用该方法(或任何其他方法,因为double
是原始的)。< / p>
答案 1 :(得分:0)
您的2D数组看起来类型为double
。您正尝试将char
传入double
数组。此外,.charAt
是String
类型的方法。
我建议您提供有关变量数据类型的更多信息。这里的人们会更容易帮助你。
请注意:一个字符只能包含一个字符。双重需要多个角色,即使我告诉您如何将char
转换为double
,您只需要一个数字。
//Position of 2D array to extract data
int x1=3;
int y1=2;
//Convert double to string
String str = Double.toString(ITdouble[x1][y1]);
//Place single character into 1D array
for(int x=0; x<I.length(); x++)
I[x] = str.charAt(x);
由于您希望I
将3.14159
之类的双重值的所有单个字符存储到3
.
1
4
{ {1}} 1
5
。您应该将1D数组9
声明为char而不是double。
对您的代码的一些评论:
使用变量的命名约定,建议您为变量使用有意义的名称。变量应以小写开头。在这种情况下,I
和I
没有遵循命名惯例。