判断一个整数是不是2的阶次方数
2013-08-15 12:52
239 查看
/** * 判断一个整数是不是2的阶次方数 * 思路:(d-1)&d == 0 => d是 */ import java.io.*;; class InputData{ static private String s = ""; /** * 从输入流中获取字符串 */ static public void input(){ BufferedReader bu = new BufferedReader( new InputStreamReader(System.in)//标准输入流:字节流 /** * in public static final InputStream in“标准”输入流。此流已打开并准备提供输入数据。 通常,此流对应于键盘输入或者由主机环境或用户指定的另一个输入源。 */ /** * InputStream 是字节流 reader是字符流 InputStreamReader是将字节流转换成字符流,是上面两者的转换类。 比如输入时inputStram,可以用inputStreamReader(inputStream);返回reader的字符流 */ /** * inputstream,只能读字节,byte数组。例如System.in,标准输入流,获得的是字节流 * 而有reader的可以读char,例如inputStreamReader(inputStream)是将字节流转换成字符流 * 而有buffered的可以读string,例如BufferedReader(inputStreamReader)是将字符流转换成字符串 * BufferedReader获取字符串的方法是 readline() */ ); try { s = bu.readLine(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 从输入流中获取字符串,转为整数值 * @return */ static public int getInt(){ input(); return Integer.parseInt(s); } } class Result{ void print(int d){ if(((d)&(d-1)) == 0 && d!=0){ System.out.println("是2的阶次方数"); } else{ System.out.println("不是2的阶次方数"); } } } public class Test6_5{ public static void main(String[] args){ Result result = new Result(); System.out.println("请输入一个整数:"); int a = InputData.getInt(); result.print(a); } }
相关文章推荐
- 如何判断一个数是不是2的整数次方
- 判断一个数字是不是2的整数次方
- C++算法之 一句话判断一个整数是不是2 的整数次方
- 用一条语句判断一个整数是不是2的整数次方
- c语言:判断一个整数是不是2的整数次方
- c语言:判断一个整数是不是2的整数次方
- 判断一个整数是不是2的阶次方数
- 判断一个整数数组是不是二叉搜索树的后序遍历序列
- 如何判断一个整数是不是完全平方数
- Happy Number 判断一个整数的各个位数的平方的和到最后是不是1
- 判断一个整数是不是回文数
- java编程基础篇 --> 从键盘输入一个整数(1 个 3 位整数),判断其是不是水仙花数。所谓“水仙花数”是 指一个 3 位数,其各位数字立方和等于该数本身。
- 1.求一个整数的二进制中1的个数 2.判断一个数是否是2的n次方
- 判断一个整数是不是回文
- 如何判断一个整数是不是奇数----最佳方式
- 判断一个数是不是2的N次方,很牛的算法#define ISPOW2(x) (x) & (x-1) ? false : true
- 判断一个数是不是2的整数次幂(两种方法)
- 《剑指Offer》输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- 怎样判断一个整数是不是回文数?
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果