第一题 A
问题描述
请找到一个大于 2022 的最小数,这个数转换成二进制之后,最低的 6 个二进制为全为 0 。
请将这个数的十进制形式作为答案提交。
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
答案
2048
代码如下
// 请找到一个大于 2022 的最小数,这个数转换成二进制之后,最低的 6 个二进制为全为 0
public class langqiao01 {
public static void main(String args[]) {
//方法调用
for (int i = 2023; ; i++) {
A a = new A();//调用前创建对象并接收
boolean t = a.check(i);//调用方法
//循环的判断条件
if (t) {
System.out.println(i);
break;
}
}
}
}
//1. 方法的返回类型 boolean
//2. 方法的名字 cheak
//3. 方法的形参 (int i)
//4. 方法体 判断
class A {//方法是类的一部分创建方法必须先创建类
public boolean check(int i) {//创建方法
String s = Integer.toBinaryString(i);//转换成二进制的字符串
for (int j = s.length() - 1; j >= s.length() - 6; j--) {
//逆向思维
if (s.charAt(j) != '0')
return false;
}
return true;//表示把true的结果返回给调用方法的位置
}
}