[英]Java boolean array print out true issue
OK, so this is a little tricky but let me explain. 好的,这有点棘手,但让我解释一下。 I have a boolean of 100 values. 我有100个值的布尔值。 for a 100 steps I have to switch value from true to false, however this is increments of the step value. 对于100步,我必须将值从true切换为false,但这是步长值的增量。 eg 例如
first step = increment by one and flip false to true second step = increment by two and flip boolean (no matter the value) third step........ im sure you get this by now. 第一步=递增1,然后将false翻转为true。第二步=递增2,然后将布尔值翻转(不管值如何)。第三步........我确定您现在已经知道了。 this will go on for a 100 steps incremented by the step value each time. 每次将以步长值递增100步。
So I ahve got so far but I am getting some dodgy results, I need to know how to look through the values or the boolean and display the true ones only after the very last step. 因此,到目前为止,我得到了一些令人毛骨悚然的结果,我需要知道如何通过数值或布尔值查找并仅在最后一步之后显示真实值。 Any help?? 有帮助吗?
/
public class MailBox {
public static void main(String[] args) {
boolean[] amountToflip = new boolean[100];
int boxnum;
for(boxnum=0; boxnum<amountToflip.length;boxnum++){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=1; boxnum<amountToflip.length;boxnum+=2){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=2; boxnum<amountToflip.length;boxnum+=3){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=3; boxnum<amountToflip.length;boxnum+=4){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=4; boxnum<amountToflip.length;boxnum+=5){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=5; boxnum<amountToflip.length;boxnum+=6){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=6; boxnum<amountToflip.length;boxnum+=7){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=7; boxnum<amountToflip.length;boxnum+=8){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=8; boxnum<amountToflip.length;boxnum+=9){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=9; boxnum<amountToflip.length;boxnum+=10){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=10; boxnum<amountToflip.length;boxnum+=11){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=11; boxnum<amountToflip.length;boxnum+=12){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=12; boxnum<amountToflip.length;boxnum+=13){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=13; boxnum<amountToflip.length;boxnum+=14){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=14; boxnum<amountToflip.length;boxnum+=15){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=15; boxnum<amountToflip.length;boxnum+=16){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=16; boxnum<amountToflip.length;boxnum+=17){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=17; boxnum<amountToflip.length;boxnum+=18){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=18; boxnum<amountToflip.length;boxnum+=19){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=19; boxnum<amountToflip.length;boxnum+=20){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=20; boxnum<amountToflip.length;boxnum+=21){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=21; boxnum<amountToflip.length;boxnum+=22){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=22; boxnum<amountToflip.length;boxnum+=23){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=23; boxnum<amountToflip.length;boxnum+=24){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=24; boxnum<amountToflip.length;boxnum+=25){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=25; boxnum<amountToflip.length;boxnum+=26){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=26; boxnum<amountToflip.length;boxnum+=27){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=27; boxnum<amountToflip.length;boxnum+=28){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=28; boxnum<amountToflip.length;boxnum+=29){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=29; boxnum<amountToflip.length;boxnum+=30){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=30; boxnum<amountToflip.length;boxnum+=31){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=31; boxnum<amountToflip.length;boxnum+=32){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=32; boxnum<amountToflip.length;boxnum+=33){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=33; boxnum<amountToflip.length;boxnum+=34){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=34; boxnum<amountToflip.length;boxnum+=35){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=35; boxnum<amountToflip.length;boxnum+=36){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=36; boxnum<amountToflip.length;boxnum+=37){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=37; boxnum<amountToflip.length;boxnum+=38){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=38; boxnum<amountToflip.length;boxnum+=39){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=39; boxnum<amountToflip.length;boxnum+=40){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=40; boxnum<amountToflip.length;boxnum+=41){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=41; boxnum<amountToflip.length;boxnum+=42){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=42; boxnum<amountToflip.length;boxnum+=43){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=43; boxnum<amountToflip.length;boxnum+=44){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=44; boxnum<amountToflip.length;boxnum+=45){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=45; boxnum<amountToflip.length;boxnum+=46){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=46; boxnum<amountToflip.length;boxnum+=47){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=47; boxnum<amountToflip.length;boxnum+=48){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=48; boxnum<amountToflip.length;boxnum+=49){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=49; boxnum<amountToflip.length;boxnum+=50){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=50; boxnum<amountToflip.length;boxnum+=51){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=51; boxnum<amountToflip.length;boxnum+=52){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=52; boxnum<amountToflip.length;boxnum+=53){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=53; boxnum<amountToflip.length;boxnum+=54){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=54; boxnum<amountToflip.length;boxnum+=55){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=55; boxnum<amountToflip.length;boxnum+=56){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=56; boxnum<amountToflip.length;boxnum+=57){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=57; boxnum<amountToflip.length;boxnum+=58){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=58; boxnum<amountToflip.length;boxnum+=59){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=59; boxnum<amountToflip.length;boxnum+=60){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=60; boxnum<amountToflip.length;boxnum+=61){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=61; boxnum<amountToflip.length;boxnum+=62){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=62; boxnum<amountToflip.length;boxnum+=63){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=63; boxnum<amountToflip.length;boxnum+=64){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=64; boxnum<amountToflip.length;boxnum+=65){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=65; boxnum<amountToflip.length;boxnum+=66){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=66; boxnum<amountToflip.length;boxnum+=67){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=67; boxnum<amountToflip.length;boxnum+=68){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=68; boxnum<amountToflip.length;boxnum+=69){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=69; boxnum<amountToflip.length;boxnum+=70){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=70; boxnum<amountToflip.length;boxnum+=71){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=71; boxnum<amountToflip.length;boxnum+=72){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=72; boxnum<amountToflip.length;boxnum+=73){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=73; boxnum<amountToflip.length;boxnum+=74){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=74; boxnum<amountToflip.length;boxnum+=75){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=75; boxnum<amountToflip.length;boxnum+=76){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=76; boxnum<amountToflip.length;boxnum+=77){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=77; boxnum<amountToflip.length;boxnum+=78){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=78; boxnum<amountToflip.length;boxnum+=79){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=79; boxnum<amountToflip.length;boxnum+=80){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=80; boxnum<amountToflip.length;boxnum+=81){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=81; boxnum<amountToflip.length;boxnum+=82){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=82; boxnum<amountToflip.length;boxnum+=83){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=83; boxnum<amountToflip.length;boxnum+=84){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=84; boxnum<amountToflip.length;boxnum+=85){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=85; boxnum<amountToflip.length;boxnum+=86){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=86; boxnum<amountToflip.length;boxnum+=87){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=87; boxnum<amountToflip.length;boxnum+=88){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=88; boxnum<amountToflip.length;boxnum+=89){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=89; boxnum<amountToflip.length;boxnum+=90){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=90; boxnum<amountToflip.length;boxnum+=91){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=91; boxnum<amountToflip.length;boxnum+=92){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=92; boxnum<amountToflip.length;boxnum+=93){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=93; boxnum<amountToflip.length;boxnum+=94){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=94; boxnum<amountToflip.length;boxnum+=95){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=95; boxnum<amountToflip.length;boxnum+=96){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=96; boxnum<amountToflip.length;boxnum+=97){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=97; boxnum<amountToflip.length;boxnum+=98){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=98; boxnum<amountToflip.length;boxnum+=99){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
for(boxnum=99; boxnum<amountToflip.length;boxnum+=100){
amountToflip[boxnum] = !amountToflip[boxnum];
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
}
}
What is happening is that the end printout displays the values for each step which include true and false, I only want to display true values. 发生的情况是,最终打印输出显示每个步骤的值,包括true和false,我只想显示true值。 I put an int in the so that I can have a boxnumber so I know which number is true eg box 1 = True, box 7 = true 我将int放入,以便可以有一个boxnumber,以便知道哪个数字是真实的,例如box 1 = True,box 7 = true
Remember, to avoid any redundant work, we use loops! 请记住,为避免任何多余的工作,我们使用循环! So why 100 loops doing same thing only changing the values of boxnum
? 那么为什么100个循环只做一次改变boxnum
的值呢?
Try this to avoid 100 loops: 尝试这样做以避免100次循环:
int i;
for(i = 0; i <100; i++) {
for(boxnum=i; boxnum < amountToflip.length; boxnum = boxnum + 1 +i){
amountToflip[boxnum] = !amountToflip[boxnum];
}
}
Now for print do something like that, 现在要进行打印,
for(boxnum = 0; boxnum < amountToflip.length; boxnum++) {
if(amountToflip[boxnum]) // this condition will check only for true
System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}
Here's your code fixed so you don't repeat yourself unnecessarily: 这是固定的代码,因此您不必不必要地重复自己的代码:
public static void mailbox() {
boolean[] amountToflip = new boolean[100];
for (int boxNum = 0; boxNum < amountToflip.length; boxNum++) {
for (int i = boxNum; i < amountToflip.length; i++) {
amountToflip[i] = !amountToflip[i];
System.out.println("Mailbox: " + i + amountToflip[i]);
}
}
}
And now you can see how easy it is to only print where the boolean is true
: 现在,您可以看到仅在布尔值为true
下打印是多么容易:
public static void mailbox() {
boolean[] amountToflip = new boolean[100];
for (int boxNum = 0; boxNum < amountToflip.length; boxNum++) {
for (int i = boxNum; i < amountToflip.length; i++) {
amountToflip[i] = !amountToflip[i];
if (amountToflip[i]) {
System.out.println("Mailbox: " + i + amountToflip[i]);
}
}
}
}
Here's the same code with the printing moved to the end and tidied: 这是相同的代码,将打印移至最后并整理:
public static void mailbox() {
boolean[] amountToflip = new boolean[100];
for (int boxNum = 0; boxNum < amountToflip.length; boxNum++) {
for (int i = boxNum; i < amountToflip.length; i++) {
amountToflip[i] = !amountToflip[i];
}
}
// Roll all 100 up into a single display.
for (int i = 0; i < amountToflip.length; i++) {
System.out.print(amountToflip[i] ? "1" : " ");
}
System.out.println();
}
Prints: 印刷品:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
I still don't understand what you are trying to achieve though. 不过,我仍然不明白您要达到的目标。
To get this straight, you want to perform the flipping as described, and then only display the results for the true boxes, at the end? 为了弄清楚这一点,您想要按说明执行翻转,然后仅在最后显示真正框的结果? Then I think this is what you are looking for: 那我想这就是您要寻找的东西:
public class MailBox {
public static void main(String[] args) {
boolean[] amountToflip = new boolean[100];
// Perform the flipping
for (int increment=1; increment <= amountToflip.length; increment++) {
for (int boxnum=increment - 1; boxnum < amountToflip.length; boxnum+=increment) {
amountToflip[boxnum] = !amountToflip[boxnum];
}
}
// Now print the result
for (int i = 0; i < amountToflip.length; i++) {
if (amountToflip[i]) {
System.out.println("Mailbox: " + i);
}
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.