【问题标题】:Java boolean array print out true issueJava布尔数组打印出真正的问题
【发布时间】:2015-09-08 22:54:27
【问题描述】:

好的,所以这有点棘手,但让我解释一下。我有一个 100 个值的布尔值。对于 100 步,我必须将值从 true 切换为 false,但是这是步进值的增量。例如

第一步 = 递增 1 并将 false 翻转为 true 第二步 = 增加 2 并翻转布尔值(无论值如何) 第三步........我确定你现在明白了。这将持续 100 步,每次按步长值递增。

所以到目前为止,我得到了一些不可靠的结果,我需要知道如何查看值或布尔值并仅在最后一步之后显示真实值。有什么帮助吗??

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

}

发生的事情是最终打印输出显示每个步骤的值,包括真值和假值,我只想显示真值。我在里面放了一个 int ,这样我就可以有一个 boxnumber ,这样我就知道哪个数字是真的,例如框 1 = 真,框 7 = 真

【问题讨论】:

  • 循环之母.....
  • 使用 100 个循环仅在一或两个次要位置变化是您正在寻找嵌套循环的最有力的指示。 (提示,你可以有一个for (initialBoxNum=0; initialBoxNum &lt;100; initialBoxNum++) { ... }的外循环
  • 我尝试将它们全部嵌套,但结果相同.. 所以决定这样看起来更好
  • 这样看起来肯定不会更好。如果你现在意识到自己犯了一个错误——你需要修复它 100 次,而在另一种情况下——你需要修复它一次。这段代码可维护性真的很差
  • @HSinghxxx 看得我头晕目眩,嵌套循环清晰多了。

标签: java arrays boolean


【解决方案1】:

这是你的代码固定所以你don't repeat yourself是不必要的:

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

现在您可以看到只打印布尔值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]);
            }
        }
    }
}

这是相同的代码,打印移到最后并整理:

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

打印:

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 need to know how to look through the values or the boolean and **display the true ones only after the very last step**
  • 有 100 个布尔值,按 int 值编号 1=false, 2 =false, 3=false blah blah。我在每次翻转时更改布尔值 100 次。您向我展示的非常感谢,但是输出仍然显示重复的值,是的,它们显示所有真实但相同的值,所以我看到 4 个 1 等。
  • 有没有办法让我合并所有输出,所以它只会显示单个值 1?
  • @HSinghxxx - 如果您在问题中添加一个示例输出,我可能会理解。
【解决方案2】:

为了弄清楚这一点,您想按描述执行翻转,然后只显示真正框的结果,最后?那我想这就是你要找的:

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

【讨论】:

  • 这正是我所寻找的,耸人听闻的 Hayo。非常感谢你和所有评论我应该如何做得更好的人。虽然我对 Java 很陌生,但非常感谢。
  • 不客气!如果这完全回答了您的问题,您也可以在此处将其标记为已回答(绿色复选标记),这样人们就不会继续回答已回答的问题?
【解决方案3】:

请记住,为避免任何多余的工作,我们使用循环!那么为什么 100 个循环做同样的事情只改变 boxnum 的值呢?

尝试这样做以避免 100 个循环:

int i;
for(i = 0; i <100; i++) {
    for(boxnum=i; boxnum < amountToflip.length; boxnum = boxnum + 1 +i){
        amountToflip[boxnum] = !amountToflip[boxnum];
     }
}

现在打印做类似的事情,

for(boxnum = 0; boxnum < amountToflip.length; boxnum++) {
    if(amountToflip[boxnum]) // this condition will check only for true
        System.out.println("Mailbox: " + boxnum + amountToflip[boxnum]);
}

【讨论】:

  • 虽然是这样,但这并不能回答问题。
猜你喜欢
  • 2013-07-02
  • 1970-01-01
  • 1970-01-01
  • 2014-04-12
  • 2021-11-13
  • 2012-11-27
  • 1970-01-01
  • 2015-08-18
  • 1970-01-01
相关资源
最近更新 更多