packagetwo;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclasstwo{privateintgetNum1(inti){intreVal=0;Strings=Integer.toBina...
package two;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class two {
private int getNum1(int i){
int reVal=0;
String s=Integer.toBinaryString(i);
char[]chars=s.toCharArray();
for(char c:chars){
if(c=='1'){
reVal++;
}
}
return reVal;
}
private int getNum2(int i1){
int count=0;
while(i1!=0){
if((i1&1)==1){
count++;
}
i1=i1>>1;
}
return count;
}
public static void main(String[] args)throws IOException{ //throws NumberFormatException, IOException{
try{
two two=new two();
int n;
System.out.println("请输入一个整数:");
BufferedReader strin=new BufferedReader(new InputStreamReader(System.in));
n=Integer.parseInt(strin.readLine());
System.out.println("一共有"+two.getNum2(n)+"个1");
}catch(NumberFormatException a){
System.err.println("请输入数字");
}
}
}
方法 getNum1 是不是没用?可有可无?
展开