如何从二维数组中的特定位置获取一个字符

时间:2014-12-01 08:47:27

标签: java arrays character

我有一个名为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;正在展示。有没有其他简单的方法可以做到这一点?

2 个答案:

答案 0 :(得分:0)

charAt是一种String方法。根据您得到的错误,您的ITdouble数组是double数组,因此您无法在其上调用该方法(或任何其他方法,因为double是原始的)。< / p>

答案 1 :(得分:0)

您的2D数组看起来类型为double。您正尝试将char传入double数组。此外,.charAtString类型的方法。

我建议您提供有关变量数据类型的更多信息。这里的人们会更容易帮助你。

请注意:一个字符只能包含一个字符。双重需要多个角色,即使我告诉您如何将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);  

由于您希望I3.14159之类的双重值的所有单个字符存储到3 . 1 4 { {1}} 1 5。您应该将1D数组9声明为char而不是double。


对您的代码的一些评论:

使用变量的命名约定,建议您为变量使用有意义的名称。变量应以小写开头。在这种情况下,II没有遵循命名惯例。