Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从数组中查找正数和负数?_Java_Arrays - Fatal编程技术网

Java 从数组中查找正数和负数?

Java 从数组中查找正数和负数?,java,arrays,Java,Arrays,我有一个任务,我需要帮助。 int[]数组={12,23,-22043545,-4,-55,43,12,0,-99,-87} 我必须做两个数组。第一个用于正数,第二个用于负数和重复数。我不能使用ArrayList int[]数组={12,23,-22,0,43545,-4,-55,43,12,0,-999,-87} for(int i=0;i<array.length;i++){ if(array[i]>0){ Sy

我有一个任务,我需要帮助。 int[]数组={12,23,-22043545,-4,-55,43,12,0,-99,-87} 我必须做两个数组。第一个用于正数,第二个用于负数和重复数。我不能使用ArrayList

int[]数组={12,23,-22,0,43545,-4,-55,43,12,0,-999,-87}

       for(int i=0;i<array.length;i++){   
          if(array[i]>0){
              System.out.println("Positive:"+array[i]);               
          }
          else if 
               (array[i]<0){
               System.out.println("Negative:"+array[i]);   
           }
           for (int j = i + 1; j < array.length; j++) {
            if (array[j] ==array[i]) {
                 System.out.println("Dup:"+array[j]);

    }

}
       }
}
for(int i=0;i0){
System.out.println(“正:“+array[i]);
}
否则如果
(数组[i]这个怎么样:

public void test() {
    int[] array = {12, 23, -22, 043, 545, -4, -55, 43, 12, 0, -99, -87};
    List<Integer> positive = new ArrayList<>();
    List<Integer> negative = new ArrayList<>();
    List<Integer> duplicate = new ArrayList<>();
    for (int i = 0; i < array.length; i++) {
        int n = array[i];
        // Simple check for +ve/-ve
        if (n >= 0) {
            positive.add(n);
        } else {
            negative.add(n);
        }
        // Check for duplicates.
        for (int j = i + 1; j < array.length; j++) {
            if (array[j] == n) {
                duplicate.add(n);
            }
        }
    }
    System.out.println("+ve - " + positive);
    System.out.println("-ve - " + negative);
    System.out.println("dup - " + duplicate);
}
公共无效测试(){
int[]数组={12,23,-22,043,545,-4,-55,43,12,0,-99,-87};
List positive=new ArrayList();
List negative=new ArrayList();
List duplicate=new ArrayList();
for(int i=0;i=0){
正。添加(n);
}否则{
否定。添加(n);
}
//检查有无重复。
对于(int j=i+1;j

请记住,您的教授对此答案有完全开放的访问权限,甚至可能在她那里有一个帐户。请确保完全理解此代码,否则您将无法学习课程的这一部分。

尝试理解代码并回答您的教授

 int[] array={12,23,-22,043,545,-4,-55,43,12,0,-99,-87};
   List<Integer> postiveNumbers=new ArrayList<Integer>();
    List<Integer> negativeNumbers=new ArrayList<Integer>();
    List<Integer> duplicateNumbers=new ArrayList<Integer>();
    for(int i=0;i<array.length;i++){
        if(!(postiveNumbers.contains(array[i])||negativeNumbers.contains(array[i]))) {//checks whether it contains duplicates

            if (array[i] >= 0) {
                postiveNumbers.add(array[i]);
            } else if (array[i] < 0) {
                negativeNumbers.add(array[i]);
            }
        }
        else duplicateNumbers.add(array[i]);
    }

    System.out.println(postiveNumbers);
    System.out.println(negativeNumbers);
    System.out.println(duplicateNumbers);
int[]数组={12,23,-22043545,-4,-55,43,12,0,-99,-87};
List postiveNumbers=new ArrayList();
List NegativeEnumbers=新的ArrayList();
List DuplicateNumber=新的ArrayList();
对于(int i=0;i=0){
postiveNumbers.add(数组[i]);
}else if(数组[i]<0){
negativeEnumbers.add(数组[i]);
}
}
添加(数组[i]);
}
系统输出打印项次(邮政编码);
System.out.println(负片数);
系统输出打印项次(重复编号);

到目前为止你试过什么了吗?展示你试过什么了吗?我投票结束这个问题,因为它是一个作业转储,没有显示任何解决方法。使用
for
循环数组,使用
if
检查条件。好了,现在实现一个解决方案。好的,我知道,但我不能使用List,ArrayList…仅适用于和如果使用此算法,如果相同数字出现N次,它将多次存储在“重复”列表中,实际上是N(N-1)/2次。我想这不是我们需要的。@Ira-你可以使用数组而不是
列表,但那会更复杂。你可能会发现使用
StringBuilder
,或者如果你必须的话,甚至可以附加到
String
。@KonstantinosChalkias-很好的观点-如果这是一个问题,那么
集合将更合适谢谢大家的帮助…谢谢大家的帮助。。。