这是我的代码:
package javaapplication11;
import java.util.Arrays;
public class JavaApplication11 {
public static void main(String[] args) {
int array [] = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};
System.out.println(array.length);
int negative[];
int positive[];
int counter = 0;
int counter2 = 1;
for(int i=0;i<array.length;i++){
if(array[i]<0){
counter++;
}
}
negative = new int[counter];
positive = new int[array.length-counter];
for(int i=0,n=0,p=0;i<array.length;i++){
if(array[i]<0){
negative[n++]=array[i];
} else {
positive[p++]=array[i];
}
}
System.out.println(Arrays.toString(array));
System.out.println(Arrays.toString(negative));
System.out.println(Arrays.toString(positive));
Arrays.sort(array);
System.out.println(Arrays.toString(array));
for(int i=1;i<array.length-1;i++){
if(array[i] == array[i-1]){
System.out.println("Duplicate: " +array[i]);
}
}
}
}
我的输出如下:
我需要从正数组中删除零。怎么样?
答案 0 :(得分:1)
操纵正数时可以忽略零:
for(int i=0, n=0, p=0;i < array.length; i++) {
if (array[i] < 0) {
negative[n++] = array[i];
} else if (array[i] > 0) {
positive[p++] = array[i];
}
}
希望它有所帮助!