1

OK, so this is a little tricky but let me explain. I have a boolean of 100 values. for a 100 steps I have to switch value from true to false, however this is increments of the step value. e.g.

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. this will go on for a 100 steps incremented by the step value each time.

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. I put an int in the so that I can have a boxnumber so I know which number is true e.g. box 1 = True, box 7 = true

6
  • 5
    Mother of loops..... Commented Jun 23, 2015 at 8:36
  • 2
    Using 100 loops that only vary in one or two minor places is the strongest indication you are looking for a nested loop. (Hint, you can have an outer loop of for (initialBoxNum=0; initialBoxNum <100; initialBoxNum++) { ... } Commented Jun 23, 2015 at 8:37
  • I tried to nest them all but the results were the same.. so decided it looks better this way Commented Jun 23, 2015 at 8:38
  • 5
    It definetly does not look better this way. If you now realize you have a mistake - you need to fix it 100 times, while in the alternative - you need to fix it once. This code is really poorly maintainable Commented Jun 23, 2015 at 8:39
  • 1
    @HSinghxxx It makes me feel dizzy, nested loops are much clearer. Commented Jun 23, 2015 at 8:39

3 Answers 3

2

Remember, to avoid any redundant work, we use loops! So why 100 loops doing same thing only changing the values of boxnum?

Try this to avoid 100 loops:

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]);
}
Sign up to request clarification or add additional context in comments.

1 Comment

While true, that does not answer the question.
1

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);
        }
    }
  }
}

2 Comments

That is exactly what I was looking for, sensational Hayo.. A huge thank you to you and for everyone who commented on how I should do this better. Whilst I am quite new to Java it is greatly appreciated.
You are welcome! If this fully answers your question, you can mark it here as answered too (the green check mark) so people will not continue answering an already answered question 😃
1

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:

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

I still don't understand what you are trying to achieve though.

4 Comments

I need to know how to look through the values or the boolean and **display the true ones only after the very last step**
there are 100 boolean values numbered by int value 1=false, 2 =false, 3=false blah blah. I change boolean value on each step flip, for a 100 times. What you have shown me is great thanks, however the output still shows duplicated values, yes they show all true but same values so I see 4 1's etc..
Is there a way for me to combine all the output, so it will show me only the single value of 1?
@HSinghxxx - Perhaps if you added to your question an example output I would understand.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.