欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java实现 键盘输入一个数,判断是否是2的阶次方

程序员文章站 2024-03-15 22:34:42
...

Java实现 键盘输入一个数,判断是否是2的阶次方

知识点:

  1. 利用 Java.util.Scanner从键盘上读取数据;
  2. while循环结构,break终止循环

思路:

  1. 利用java.util包下的scanner方法从键盘上输入一个值 num
  2. 如果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的阶次方
Java实现 键盘输入一个数,判断是否是2的阶次方
97不是2的阶次方
Java实现 键盘输入一个数,判断是否是2的阶次方

思考:能否知道num是2的几次方?