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语句而终止。
添加回答
举报
0/150
提交
取消