Java 循环使用两个独立的if语句

Java 循环使用两个独立的if语句,java,arrays,loops,Java,Arrays,Loops,下面的代码是我正在为一个java项目开发的方法的简化版本。该方法将通过项目列表(两个不同的类别)进行排序,在本例中为0、s和1。代码读取在0或1处停止的数字数组,然后打印出0或1以及0或1后面的数字字符串。如果前面的字符串是1或零,则它将停止并切换到另一个If语句。但是,它只执行每条语句一次。但是,阵列中还有更多内容需要通读和组织。我想设置某种循环,这样它就可以在if语句集中循环,直到读取整个数组为止 public class tester { public static void

下面的代码是我正在为一个java项目开发的方法的简化版本。该方法将通过项目列表(两个不同的类别)进行排序,在本例中为0、s和1。代码读取在0或1处停止的数字数组,然后打印出0或1以及0或1后面的数字字符串。如果前面的字符串是1或零,则它将停止并切换到另一个If语句。但是,它只执行每条语句一次。但是,阵列中还有更多内容需要通读和组织。我想设置某种循环,这样它就可以在if语句集中循环,直到读取整个数组为止

public class tester 
{

    public static void main(String[] args ) 
    {
        String flags[] = {"0","23","25","34","1","9","12","13","0","67","2","43"};
        String array[] = new String[flags.length];
        String zeros [] = new String[array.length];
        String ones[] = new String[array.length];

        int i,j,k,h;
        int count = 0;
        for (i = 0; i<flags.length; i++)
        {

            if (flags[i].equals("0")) 
            {       
                for (j=0; !flags[j].equals("1") ; j++)
                {
                    count = j+1;
                    array[j] = flags[j];
                    zeros[j] = flags[j];
                }   

            } else
                if (flags[count].equals("1"))
                {
                    j = 0;
                    for(k=count; !flags[k].equals("0");k++)
                    {
                        array[k] = flags[k];
                        j++;
                        ones[j-1] = flags[k];
                    }       
                }

        }

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

        System.out.println();

        for(i=0; i<ones.length; i++)
        {System.out.println(ones[i]);}
    }
}
字符串标志[]={“9”、“0”、“23”、“25”、“34”、“1”、“9”、“12”、“13”、“0”、“67”、“2”、“43”};
字符串数组[]=新字符串[flags.length];
字符串零[]=新字符串[array.length];
stringones[]=新字符串[array.length];
int i;
布尔加法零=假;
布尔addingOnes=false;
int零计数=0;
int-onescont=0;

对于(i=0;请您解释一下问题是什么?
0
23
25
34
null
null
null
null
null
null
null
null

1
9
12
13
null
null
null
null
null
null
null
null
    String flags[] = {"9","0","23","25","34","1","9","12","13","0","67","2","43"};
    String array[] = new String[flags.length];
    String zeros [] = new String[array.length];
    String ones[] = new String[array.length];

    int i;

    boolean addingZeroes = false;
    boolean addingOnes = false;
    int zeroCount = 0;
    int onesCount = 0;

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

        if (flags[i].equals("0")) {
            zeros[zeroCount] = flags[i];
            zeroCount++;
            addingZeroes = true;
            addingOnes = false;
        } else if (flags[i].equals("1")) {
            ones[onesCount] = flags[i];
            onesCount++;
            addingZeroes = false;
            addingOnes = true;
        } else if (addingZeroes) {
            zeros[zeroCount] = flags[i];
            zeroCount++;
        } else if (addingOnes) {
            ones[onesCount] = flags[i];
            onesCount++;
        }

    }

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

    System.out.println();

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