首页 > 解决方案 > 编写一个接受整数参数的方法,该参数返回该数字除以 2 的倍数

问题描述

我认为标题本身几乎是不言自明的。

例如,如果我输入 128,它应该打印 7。

如果我输入一个奇数,它应该打印 0。

我的代码是

public static int divideBy2 (int number){ 

      int count=0;

      while (number%2==0){


         count++;
      }
      return count;
}

我确实理解为什么它不起作用,但我想不出其他任何东西。

我是初学者,我应该使用while循环。

任何帮助,将不胜感激。

(这不是重复的。那篇文章是关于 2 适合这个数字多少次,但我的问题是关于将数字重复除以 2。)

标签: javaalgorithm

解决方案


如果是可整除的,你需要再除以二,你不觉得吗?

while (number%2==0) {
     number /=2;    
     count++;
}

推荐阅读