一、知识点:
二进制转换、遍历
二、文字分析:
代码首先将整数n
转换为二进制字符串,并存储在变量binary
中。然后,使用变量count
来记录0的个数。
接下来,代码判断二进制字符串的长度是否小于32。如果小于32,则说明二进制字符串不足32位,需要在开头补0,以保持32位长度。这个补0的过程通过构建一个补充用的字符串supple
来实现,其中包含了缺少的0。将补充的字符串与二进制字符串拼接,得到32位长度的二进制字符串。
最后,代码遍历二进制字符串的每个字符,如果字符为0,则将计数器count
加1。
最后返回计数器count
的值作为结果。
三、编程语言:
java
四、正确代码:
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param n int整型 * @return int整型 */ public int countZeros (int n) { //将整型转化为二进制码 String binary = Integer.toBinaryString(n); int count=0; //还需要补充开头0的个数 String supple = ""; if(binary.length()<32){ for(int i=0;i<32-binary.length();i++){ supple+="0"; } } binary=supple+binary; for(int i=0;i<binary.length();i++){ if(binary.charAt(i) == '0') count++; } return count; } }