一、知识点:
二进制转换、遍历
二、文字分析:
代码首先将整数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;
}
}

京公网安备 11010502036488号