Java中逻辑运算符的使用方法

java中如何使用java中的逻辑运算符计算以下代码?


public class ApaBoleh{

  public static void main(String[]args){

      for(int i=1;i<=100;i++){

          if(i%3==0){

              System.out.print("Apa,");

          }else if (i%5==0){

              System.out.print("Boleh,");

          }else if ((i%3==0)&&(i%5==0)){

              System.out.print("ApaBoleh,");

          }

         System.out.print(i+",");

      }

  }

}

当我运行此代码时,以下行不会运行 }else if ((i%3==0)&&(i%5==0)){。


海绵宝宝撒
浏览 145回答 4
4回答

慕码人2483693

跑步前else if ((i%3==0)&&(i%5==0)){ System.out.print("ApaBoleh,");}它运行if(i%3==0){ &nbsp;&nbsp;&nbsp;&nbsp;System.out.print("Apa,"); }else&nbsp;if&nbsp;(i%5==0){ &nbsp;&nbsp;&nbsp;&nbsp;System.out.print("Boleh,");所以你必须把else&nbsp;if&nbsp;((i%3==0)&&(i%5==0)){&nbsp;System.out.print("ApaBoleh,");}在上面两个之前

HUX布斯

你有一个前面的两个else都是; 仅输入第一个。我会将测试保存到局部变量中,因为重复所有这些模数运算并不是很干净。喜欢,iftruefor (int i = 1; i <= 100; i++) {    boolean mod3 = i % 3 == 0, mod5 = i % 5 == 0;    if (mod3 && mod5) {        System.out.print("ApaBoleh,");    } else if (mod3) {        System.out.print("Apa,");    } else if (mod5) {        System.out.print("Boleh,");    }    System.out.print(i + ",");}

牛魔王的故事

这是因为您用来else排除该条件之前解析为 true 的任何内容。首先尝试检查最独特的情况:if (( i%3 == 0 ) && ( i%5 == 0 )){&nbsp; &nbsp; System.out.print("ApaBoleh,");}else if ( i%3 == 0){&nbsp; &nbsp; System.out.print("Apa,");}else if ( i%5 == 0){&nbsp; &nbsp; System.out.print("Boleh,");}System.out.print(i+",");

慕无忌1623718

当然它不会运行,当你的前两个 if 条件之一评估为 时true,你将永远不会到达该 if 块。例如,如果i = 3那么您的第一个条件if(i%3==0)将计算为true并且您的打印输出Apa,因为其余条件是else ifjava代码将停止处理并进入下一个循环迭代。类似地,如果i = 5那么第一个条件将计算为false,第二个条件if(i%5==0)将计算为true并且不会继续到下一个条件else if因此,如果您之前的任何一个条件评估为,true您将不会达到第三个条件。除此之外,如果您必须删除前面的两个if语句并且仅按如下方式评估该条件:public class ApaBoleh{&nbsp; public static void main(String[]args){&nbsp; &nbsp; for(int i=1;i<=100;i++){&nbsp; &nbsp; &nbsp; if ((i%3==0)&&(i%5==0)){&nbsp; &nbsp; &nbsp; &nbsp; System.out.print("ApaBoleh,");&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp;System.out.print(i+",");&nbsp; &nbsp; }&nbsp; }}然后 ifi = 3它将计算为false因为它将计算i%3==0为true然后继续计算i%5==0为false(true和false= false)。然后 ifi = 15它将计算为true因为它将计算i%3==0为true然后继续计算i%5==0为true(true和true= false)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java