gpt4 book ai didi

java - 使用模运算符时如何保存新数字?

转载 作者:行者123 更新时间:2023-12-01 12:46:50 26 4
gpt4 key购买 nike

我正在编写一个程序,它接受数字/2,然后打印余数,然后继续直到数字为 0。

示例 13/2 余数 = 1 6/2 余数 = 0 3/2 余数 = 1 1/2 余数 = 1

这是我写的。我尝试了一些不同的代码,但它只是导致了无限循环。这似乎可以编译,但它只返回输入的原始数字。

public class BinaryDigits
{
int number;
int quotient;
int remainder;

public BinaryDigits(int input)
{
number = input;
}


public int getDigits()
{
while (quotient > 0)
{
quotient = number / 2;
remainder = number % 2;
System.out.println(remainder);
}
return number;
}


}

最佳答案

问题:

while (quotient > 0)

它始终是number/2,并且永远不会减少或增加,从而导致无限循环。

解决方案:

int number = 13;
int remainder;
while (number != 0)
{
remainder = number % 2;
System.out.println(remainder);
number = number / 2;
}

您需要计算除后的 number 并将其再次分配给 number 变量,这样当它达到 0 时,就会中断 while 循环。

结果:

1
0
1
1

关于java - 使用模运算符时如何保存新数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24622311/

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