-
利他
package com.bjlemon.task.day08;
import java.util.Arrays;
/**
* @author 利他
* @version 1.0
* @date 2018/10/13 16:42
*/
public class test {
public static void main(String[] args) {
//定义数组
int oldArr[] = {1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5};
//从小到大排序,0会排在最前面
Arrays.sort(oldArr);
//统计原数组中第一个非0元素的下标
int index = 0;
//统计原数组中0的个数
int zeros = 0;
//遍历数组
for (int i = 0; i < oldArr.length; i++) {
//如果当前元素等于0,计数加一,并跳出本次循环,否则第一个非0的元素为本次循环的次数,并跳出这个循环
if (oldArr[i] == 0) {
zeros++;
continue;
} else {
index = i;
break;
}
}
//定义新的数组,大小为旧数组的长度减去元素为0的个数
int[] newArr = new int[oldArr.length - zeros];
/*
public static void arraycopy(
Object src, //源数组
int srcPos, //源数组的起始位置
Object dest, //目标数组
int destPos, //目标数组的起始位置
int length //复制长度
)
*/
//调用System.arraycopy()方法将原数组数组中的非0数据拷贝到新数组中
System.arraycopy(oldArr, index, newArr, 0, newArr.length);
//循环输出newArr数组中的每个元素
for (int i : newArr) {
System.out.print(i + " ");
}
}
}
-
职场小菜鸡
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 newarr[]=new int[oldarr.length];
int j=0;
for(int i=0;i<oldarr.length;i++){
if(oldarr[i]!=0){
newarr[j]=oldarr[i];
j++;
}
}
for(int k=0;k<j;k++){
System.out.print(newarr[k]+" ");
}
}
-
yanrun
public static void main(String[] args) {
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
Arrays.sort(oldArr); //从小到大排序,0在最前面
int index = 0;//原数组中第一个非0元素的下标
int zeros = 0;//原数组中0的个数
for(int i = 0; i < oldArr.length; i++) {
if(oldArr[i] == 0) {
zeros++;
continue;
} else {
index = i;
break;
}
}
int[] newArr = new int[oldArr.length - zeros];
System.arraycopy(oldArr, index, newArr, 0, newArr.length);//调用系统方法将原数组数组中的非0数据拷贝到新数组中
for(int i : newArr) {
System.out.print(i + " ");
}
}
-
皓婆子
import java.util.Arrays;public class Demo4_6_3 { public static void main(String[] args) { // TODO Auto-generated method stub int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5}; int newArr[]=new int[oldArr.length]; int k=0; for(int i=0;i<oldArr.length;i++){ if(oldArr[i]!=0){ newArr[k]=oldArr[i]; k++; } } System.out.println(Arrays.toString(newArr)); }}请问我这个程序输出怎么是1,3,4,5,6,6,5,4,7,6,7,5,0,0,0,0,啊
-
donlv
int o[]={1,3,4,5,0,0,6,6}; int n[]=new int[o.length]; int k=0; //用于计算n[]下标的变量 for(int i=0;i<o.length;i++){ if(o[i]!=0){ //判断原数组是否为0,不为0把原数据赋值给新数组 n[k]=o[i]; System.out.print(n[k]+"\t"); k++; } }