-1

我尝试将 CharacterSequence 直接转换为具有单个整数的整数数组。

CharSequence nbr = "478";
int j;
int[] testArray = new int[100];

for(j = 0; j <= nbr.length() - 1; j++)
    testArray[j] = Character.getNumericValue(nbr.charAt(j));

System.out.println(testArray);

控制台返回的不是所需的 [4,7,8],而是这样的:

[I@424c2849

使用 case '0','1',...,'8','9' 和相应的分配设置开关并不能解决问题。

我希望你能帮帮我!提前致谢 ;)

4

2 回答 2

1

数组不会覆盖该toString方法。因此,当您尝试打印任何数组时,将调用ObjecttoString方法,并获得该方法返回的表示形式,其形式为 -Type@hashCode

要获得所需的表示,请使用Arrays.toString打印数组的方法:-

System.out.println(Arrays.toString(testArray));

除此之外,您确实应该将整数数组声明为:

int[] testArray = new int[nbr.length()];

而不是使用100大小。

于 2013-02-09T22:43:23.207 回答
0

尝试

    CharSequence nbr = "478";
    int j;
    int[] testArray = new int[100];

    for(j = 0; j <= nbr.length() - 1; j++)
        testArray[j] = Character.getNumericValue(nbr.charAt(j));

    for(int i : testArray){
        System.out.println(i);
    }
于 2013-02-09T22:45:11.233 回答