为了账号安全,请及时绑定邮箱和手机立即绑定

这个 while(true) 循环如何退出?

这个 while(true) 循环如何退出?

慕仙森 2021-08-13 17:05:32
package hi;import java.util.Scanner;class hi {    /**     * www.instanceofjava.com     */    public static void main(String[] args) {        Scanner in = new Scanner(System.in);        System.out.println("Enter a binary number: ");        int binarynum = in.nextInt();        int binary = binarynum;        int decimal = 0;        int power = 0;        while (true) {            if (binary == 0) {                break;            } else {                int tmp = binary % 10;                decimal += tmp * Math.pow(2, power);                binary = binary / 10;                power++;            }        }        System.out.println("while is false");        System.out.println("Binary=" + binary + " Decimal=" + decimal);    }}我无法理解 while 循环是如何结束的。什么时候会while变成false?
查看完整描述

2 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

在每次迭代中,您都通过将二进制数除以 来减少二进制数10。因此,最终经过某些迭代后, binary 的值变为0。因为,您在每次迭代开始时都使用条件:


if (binary == 0) {


    break;


}

此处的循环因其中的break语句而终止。


查看完整回答
反对 回复 2021-08-13
  • 2 回答
  • 0 关注
  • 592 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信