繁体   English   中英

java数组,执行正数和负数

[英]java arrays, executing positive and negative numbers

我需要从数组列表中执行正数和负数。 我还需要从数组列表中执行重复项。 我将发布我的Java代码,并希望有人可以告诉我为什么我无法运行此代码。 里面缺少什么吗? 提前致谢。

 public static void main(String[] args) {

    int i, a, b;
    int[] array1 = new int[20];//{12,23, -22, 0, 43,545, -4, -55,43, 12,0, -999, -87

    array1[0] = 12;
    array1[1] = 23;
    array1[2] = -22;
    array1[3] = 0;
    array1[4] = 43;
    array1[5] = 545;
    array1[6] = -4;
    array1[7] = -55;
    array1[8] = 43;
    array1[9] = 12;
    array1[10] = 0;
    array1[11] = -991;
    array1[12] = -87;

    int[] arrayPlus = new int[20];
    int[] arrayMinus = new int[20];


    a = b = 0;


    for (i = 0; i < 13; i++) {
        if (array1 > 0 || array1 == 0) {
            arrayPlus[a] = array1;
            a++;
        } else {
            arrayMinus = array1;
            b++;
        }

    }
    System.out.println("Positive array numbers");
    for (i = 0; i < a; i++) {
        System.out.println(arrayPlus);
    }


    System.out.println("");

    System.out.println("Negative array numbers");
    for (i = 0; i < b; i++) {
        System.out.println(arrayMinus);
    }

  }
}

您正在将整个表array1与整数进行比较。 你不能那样做。 您应该只将数组的一个元素与0进行比较。这意味着您应该改用array1 [i]。

尝试更改此块:

  if (array1 > 0 || array1 == 0){
  arrayPlus[a] =array1;
  ...
 {arrayMinus =array1;
  ...
 }

for (i = 0; i < a; i++) {
System.out.println(arrayPlus);}

 System.out.println("Negative array numbers");
 for (i = 0; i < b; i++) {
 System.out.println(arrayMinus);}

 }

有了这个:

   if (array1[a] > 0 || array1[a] == 0){
   arrayPlus[a] =array1[a];
  ...
  {arrayMinus[a] =array1[a];

 ...
 for (i = 0; i < a; i++) {
System.out.println(arrayPlus[a]);}

  System.out.println("Negative array numbers");
for (i = 0; i < b; i++) {
System.out.println(arrayMinus[b]);}

}

而对于更多的学习array中去链接

尝试代替代码

for (i = 0; i < 13; i++) {
    if (array1 > 0 || array1 == 0) {
        arrayPlus[a] = array1;
        a++;
    } else {
        arrayMinus = array1;
        b++;
    }

}

使用以下代码:

for (i = 0; i < 13; i++) {
    if (array1[i] > 0 || array1[i] == 0) {
        arrayPlus[a] = array1[i];
        a++;
    } else {
        arrayMinus[b] = array1[i];
        b++;
    }
}

您应该使用数组元素(array1 [i],arrayMinus [b]),而不要使用整个数组(array1,arrayMinus)。 代码出现问题:

for (i = 0; i < a; i++) {
    System.out.println(arrayPlus); // use arrayPlus[i]
}


System.out.println("");

System.out.println("Negative array numbers");
for (i = 0; i < b; i++) {
    System.out.println(arrayMinus); // use arrayMinus[i]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM