java中去除某个数值其他存入新数组怎么做?
现在有如下的一个数组:intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};要求将以上数组中值为0的项去掉,将不为0的值存入一个新的...
现在有如下的一个数组:
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} ; 展开
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} ; 展开
7个回答
展开全部
import java.util.ArrayList;
import java.util.List;
/*
* 现在有如下的一个数组: 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} ;
*/
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};
List<Integer> list = new ArrayList<Integer>();
for (int i = 0; i < oldArr.length; i++) {
if (oldArr[i] != 0) {
list.add(oldArr[i]);
}
}
int newArr[] = new int[list.size()];
for(int i=0;i<list.size();i++){
newArr[i] = list.get(i);
}
}
}
展开全部
遍历数组的每一个元素,判断如果不为0则放入新数组
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.for循环统计0个数为x
2.定义一个长度为arr1.length-x的数组arr2
3.
int count=0
for(int i=0; i<arr1.length;i++){
if(arr1[i]!=0) {
arr2[count]=arr1[i];
count++;
}
}
2.定义一个长度为arr1.length-x的数组arr2
3.
int count=0
for(int i=0; i<arr1.length;i++){
if(arr1[i]!=0) {
arr2[count]=arr1[i];
count++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*现在有如下的一个数组:
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} ;*/
public static void main(String[] args) {
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
byte count = 0;//计算新数组有多长
//遍历,获得新数组的长度
for (int i = 0; i < oldArr.length; i++) {
if(oldArr[i] != 0){
count ++;
}
}
int[] newArr = new int[count];
//给新数组初始化
count = 0;
for (int i = 0; i < oldArr.length; i++) {
if(oldArr[i] != 0){
newArr[count ++] = oldArr[i];
}
}
//打印观察结果
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i] + ",");
}
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} ;*/
public static void main(String[] args) {
int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ;
byte count = 0;//计算新数组有多长
//遍历,获得新数组的长度
for (int i = 0; i < oldArr.length; i++) {
if(oldArr[i] != 0){
count ++;
}
}
int[] newArr = new int[count];
//给新数组初始化
count = 0;
for (int i = 0; i < oldArr.length; i++) {
if(oldArr[i] != 0){
newArr[count ++] = oldArr[i];
}
}
//打印观察结果
for (int i = 0; i < newArr.length; i++) {
System.out.print(newArr[i] + ",");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组长度在定义的时候要定义,由于长度开始你不知道。你可以先用一个List集合去接收 然后再toArray()就变成数组了
List<Integer> list=new ArrayList<Integer>();
for( int a:oldArr){
if(a!=0){
list.add(a);
}
}
int newArr[]=list.toArray();
List<Integer> list=new ArrayList<Integer>();
for( int a:oldArr){
if(a!=0){
list.add(a);
}
}
int newArr[]=list.toArray();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询