数组扩容出现奇怪数据问题的解答
在数组扩容的代码中,遇到了奇怪的数据输出问题。原始数组为 {1,2,3},扩容后添加元素 4,期望输出 {1,2,3,4},但实际输出却是 {10,11,12,13}。
问题原因:
代码中存在一个 system.out.println 语句的打印问题。在打印数组元素时,使用 system.out.println(arr1[i] ‘t’),其中 ‘t’ 字符用于在输出中生成一个制表符。然而,在 ASCII 码表中,制表符对应的代码为 9,导致输出的数据に加 9,从而出现了 {10,11,12,13} 的结果。
解决方法:
要解决这个问题,需要将 system.out.println(arr1[i] ‘t’) 修改为 system.out.println(arr1[i]),直接输出数组元素的值,无需添加制表符。
修改后的代码:
//用arr2的值覆盖arr1 arr1 = arr2; for(int i =0;i< arr1.length;i++) { System.out.println(arr1[i]); }