繁体   English   中英

程序在偶数索引处为正数,在奇数索引处为负数

[英]program for positive number at even index and and negative number at odd index

如果数组中的负数小于正数,则需要最终条件检查正数

public class ArrayExample {

    public static void main(String[] args) {            
        int a[]= {12,3,-1,4,-2,8,-9,-6,4,78};
        int len=a.length;
        int i,j,k;
        int pcount=0,ncount=0;
        int b[]=new int[len];

        for(i=0;i<len;i++)   // for counting positive & negative nos.
        {
            if(a[i]>0)
            {
                pcount++;
            }
            else
                ncount++;
        }

        //Buffer Array 
        int pos[]=new int[pcount];
        int neg[]=new int[ncount];

        // Inserting into resp. arrays
        for(i=0,j=0,k=0;i<len;i++)
        {
            if(a[i]<0 && j<ncount)
            {
                neg[j]=a[i];
                j++;

            }
            if(a[i]>0 && k<pcount)
            {
                pos[k]=a[i];
                k++;

            }               
        }
        System.out.println("Arr "+Arrays.toString(a));
        System.out.println("Pos "+Arrays.toString(pos));
        System.out.println("Neg "+Arrays.toString(neg));


//Insert into final array
        for(i=0,j=0,k=0;i<(len);i++)
        {


            if(i%2==0 && j<pcount)
            {
                b[i]=pos[j];
                j++;

            }
            if(i%2!=0 && k<ncount)
            {
                b[i]=neg[k];
                k++;
            }   
        }
        //Final no. correction 
        System.out.println("Final "+Arrays.toString(b));

    }
}
if(pcount >ncount && k>=ncount)
{
  b[i]=pos[j];
  j++;
}
else if(ncount >pcount && j>=pcount)
{
  b[i]=neg[k];
  k++;
}

将其余的“ if”语句用作“ else if”

暂无
暂无

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

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