判断键盘输入的某个数a是否为2的阶次方书


/**
 * 判断键盘输入的某个数a是否为2的阶次方书
 * 原理:将该数转化为二进制,如果是则该数第一位为1,其余位为0,那么a&(a-1)==0
 * 注意java书写的结构
 */
package others;

//import java.io.*;
import java.util.Scanner;


//class InputData{   //定义从键盘输入数据的类,即该类负责从键盘接收数据
//	private static String s = "";
//	public static void input(){
//		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//		try{
//			s = br.readLine();
//		}catch(IOException e){
//			System.out.println("input illegal");
//		}
//	}
//	
//	public static int getInt(){
//		input();
//		return Integer.parseInt(s);
//	}
//}

class Judge{   //定义主判断程序的类,同时打印判断结果
	void print(int d){
		if(d>0){
			if((d&(d-1))==0)
				System.out.println(d+" is power of 2");
			else 
				System.out.println(d+" is not power of 2");
		}else
			System.out.println("input illegal");
	}
}

public class PrintResult {
 public static void main(String[] args){
	 try{
	 System.out.println("input a positive int number");
	 Scanner sc=new Scanner(System.in); //输入整数可以用上边BufferedReader类实现,也可以用scanner类实现
	 int a=sc.nextInt();   //不过这种方法更简单
	 sc.close();
	 Judge ju = new Judge();

//	 int a = InputData.getInt();
	 ju.print(a);
	 }catch(Exception e){
		 System.out.println("input illegal");
	 }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值