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