gpt4 book ai didi

java - 这个While循环如何退出? (java)

转载 作者:行者123 更新时间:2023-12-01 07:55:16 24 4
gpt4 key购买 nike

我试图弄清楚这个程序是如何工作的,但我陷入了 While 循环,我不明白第二个循环是如何退出的,因为 v 永远不会等于 0 或消极的。因为这是退出该循环的唯一条件,还是我错过了更深层次的东西?该代码将整数 (>0) 转换为二进制。

public class Binary { 
public static void main(String[] args) {

// read in the command-line argument
int n = Integer.parseInt(args[0]);

// set v to the largest power of two that is <= n
int v = 1;
while (v <= n/2) {
v = v * 2;
}

// check for presence of powers of 2 in n, from largest to smallest
while (v > 0) {

// v is not present in n
if (n < v) {
System.out.print(0);
}

// v is present in n, so remove v from n
else {
System.out.print(1);
n = n - v;
}

// next smallest power of 2
v = v / 2;
}

System.out.println();

}

}

最佳答案

v 是一个 int,在 Java 1/2 中作为 int 给出 0。您的循环会遍历 2 的所有幂,因此将达到 1,然后是 0。

在调试器中运行它来查看!

关于java - 这个While循环如何退出? (java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31118496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com