我认为标题本身几乎是不言自明的。例如,如果我输入 128,它应该打印 7。如果我输入一个奇数,它应该打印 0。我的代码是public static int divideBy2 (int number){ int count=0; while (number%2==0){ count++; } return count;}我确实理解为什么它不起作用,但我想不出其他任何东西。我是初学者,我应该使用while循环。任何帮助,将不胜感激。(这不是重复的。那篇文章是关于 2 适合这个数字多少次,但我的问题是关于将数字重复除以 2。
2 回答

烙印99
TA贡献1829条经验 获得超13个赞
正如所指出的,在测试数字是否可被 2 整除之后,您实际上必须进行除法。
警告!如果给定数字 0,你有一个无限循环!你应该防止这种情况。
有趣的事实:使用Integer.numberOfTrailingZeros(number)可以不用除法来解决问题。
添加回答
举报
0/150
提交
取消