首页 > 解决方案 > 如何只输出非0的数字,如何禁用零输出?

问题描述

我只需要从列出的数组中输出正数和负数。也不能输出0。我需要一个将 i 传递给 *when 它的 0 元素的代码。有什么建议么?

 class StackHelp {
int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};

int[] neg = new int[array.length];

int[] poz = new int[array.length];


 for (int i=0;  i<array.length; i++ ) {

{

       if  (array[i] <= 0)

       {   if (array[i] == 0)

        array[i]++; {

       }

  neg[i] = array[i];

} else {

  poz[i] = array[i];

}

}} 

标签: java

解决方案


干得好!现在开始在你的计算机科学课上更加关注!

这正是正在发生的事情:“继续”指令告诉 for 循环放弃正在发生的所有事情,然后转到下一个整数。

class StackHelp {
     int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};

     int[] neg = new int[array.length];

     int[] poz = new int[array.length];


     for (int i = 0; i < array.length; i++) {

         {
             if (array[i] == 0)

                continue;

             }

             if (array[i] <= 0)

             {
                 neg[i] = array[i];

             } else {

                 poz[i] = array[i];

             }

         }
     }

我可能建议的另一件事是添加到数组的下一个索引。像这样跟踪它们:

class StackHelp {
     int[] array = {12, 23, -22, 0, 43, 545, -4, -55, 43, 12, 0, -999, -87};


     int[] neg = new int[array.length];

     int[] poz = new int[array.length];


     for (int i = 0; i < array.length; i++) {

         {
             if (array[i] == 0)

                continue;

             }

             if (array[i] <= 0)

             {
                 neg[neg.indexOf(0)] = array[i];

             } else {

                 poz[pos.indexOf(0)] = array[i];

             }

         }
     }

推荐阅读