/*要求:
现在有如下的一个数组:int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为:
int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5}
最后遍历两个数组要求格式如下:
原数组为:{1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}
去掉0之后新数组为:{1,3,4,5,6,6,5,4,7,6,7,5}
*/
/*思路;
1.确定出原数组不为零的个数,作为新数组的长度
2.从原来的数组中取出内容,并将其赋予给新开辟的数组
*/
public class FeiNaoZiDemo{
public static void main(String[] args){
int[] oldArr={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
int num=0;
for(int i=0;i<oldArr.length;i++){
if(oldArr[i]!=0){
num++;
}
}
//定义一个int类型的新数组, 用来存储原数组不为0的元素
int[] newArr=new int[num];
//从原来的数组之中取出内容,将其赋给新的数组;
int foot =0;//控制新的数组的角标
for(int i=0;i<oldArr.length;i++){
if(oldArr[i]!=0){
newArr[foot++]=oldArr[i];//把原数组不为零的元素赋给新数组
}
}
//打印两个数组
//遍历原数组
String oldTemp ="原数组为:{";
for(int i = 0;i<oldArr.length;i++){
if(i!=(oldArr.length-1)){
oldTemp+=oldArr[i]+",";//数组中最后一个元素不加“,”
}else{
oldTemp+=oldArr[i]+"}";
}
}
System.out.println(oldTemp);
//遍历新数组
String newTemp ="去掉0之后的新数组为:{";
for(int i=0;i<newArr.length;i++){
if(i!=(newArr.length-1)){
newTemp+=newArr[i]+",";
}else{
newTemp+=newArr[i]+"}";
}
}
System.out.println(newTemp);
}
} |
|