今天下午在写代码时,用到了三维数组。i是自增的,当i=0时,一切正常,当i=1时,发现i=0数组下所有的值都为0,郁闷了2个小时,终于发现了问题。
因为每次我用for循环,都会new一个新的三维数组,i增加时,原来的三维数组被new了一下,原来的值就消失了
错误代码如何:
public int[][][] getQuarter2(String year){
String startTime = year + "-4-1";
String endTime = year + "-6-30";
int[] orderId = this.getOrderId(startTime,endTime);
int[][][] temp = new int[0][0][0]; //不同订单的商品信息数组
for(int i=0; i<orderId.length; i++){
int l = this.getGoodsInfo(orderId[i]).length;
temp = new int[orderId.length][l][2];
int[][] temp2 = this.getGoodsInfo(orderId[i]); //获得商品信息数组
for(int j=0;j<l;j++){
temp[i][j][0] = temp2[j][0];
temp[i][j][1] = temp2[j][1];
}
}
return temp;
}