Java实现 键盘输入一个数,判断是否是2的阶次方
程序员文章站
2024-03-15 22:34:42
...
Java实现 键盘输入一个数,判断是否是2的阶次方
知识点:
- 利用 Java.util.Scanner从键盘上读取数据;
- while循环结构,break终止循环
思路:
- 利用java.util包下的scanner方法从键盘上输入一个值 num;
- 如果num%2==0,则num是2的阶次方。
实现代码:
import java.util.Scanner;
public class DemoJudge {
/**
* 键盘输入一个数,判断是否是2的阶次方
* @author 爱吃糖的猫小闹
*/
public static boolean judge(int num){
boolean flag=true;
while(num>1){
if(num%2==0){
num=num/2;//改变循环条件,否则为死循环
}else{
flag=false;
break;
}
}
//while中的判断为永真,num%2==0为真时break直接跳出while循环
// while(true){
// if(num%2==0){
// break;
// }else{
// flag=false;
// break;
// }
// }
return flag;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个数字:");
int num=sc.nextInt();
System.out.println(num+"是不是2的阶次方?"+judge(num));
}
}
运行结果:
256是2的阶次方
97不是2的阶次方
思考:能否知道num是2的几次方?