从一个阵列创建2个数组

时间:2015-03-03 18:39:07

标签: java

我有这个数组:

int[] arr = {-1, -2, 0, 1, 2};

从这个数组中我必须制作2个数组:一个是负数,另一个是正数。

我尝试了下面的代码,但它不起作用 - 它填充了我用0制作的数组为正数:

 int[] arr1 = new int[arr.length];
        for(int i=0;i<arr.length;i++){
                if(arr[i]<0)
                arr1[i]=arr[i];
            System.out.println(java.util.Arrays.toString(arr1));

1 个答案:

答案 0 :(得分:-2)

您可以尝试这样的事情:

int[] arr= {-1, -2, 0, 1, 2};
int p=0;
int n=0;

for(int i=0; i<arr.length-1; ++i) {
  if(arr[i]>=0) {
    p=p+1;
  } else {
    n=n+1;
  }
}

int[] posarr=new int[p];
int[] negarr=new int[n];
p=0;
n=0;
for(int i=0; i<arr.length-1; ++i) {
  if(arr[i]>=0) {
    posarr[p]=arr[i];
    p=p+1;
  } else {
    negarr[n]=arr[i];
    n=n+1;
  }
}