当前位置: 代码迷 >> J2SE >> 从键盘输入一个十进制数,转换成二进制数后输出,该怎么解决
  详细解决方案

从键盘输入一个十进制数,转换成二进制数后输出,该怎么解决

热度:76   发布时间:2016-04-24 01:11:35.0
从键盘输入一个十进制数,转换成二进制数后输出
要求不用Integer,自己写,另输入一整数A,判断它是否质数。

------解决方案--------------------
Java code
public static void main(String args[]){        Scanner input = new Scanner(System.in);        int inputNumber = input.nextInt();        erjinzhi(inputNumber);    }    public static String erjinzhi(int a){        boolean flag = true;        boolean isZhengshu = (a>=0?true:false);        if(!isZhengshu){            a = a&0xffff;        }        int temp = Math.abs(a);        StringBuffer sb = new StringBuffer();        while(flag){            int yushu = temp%2;            sb.append(yushu);            temp = temp/2;            if(temp == 0){                flag = false;            }        }        StringBuffer result = new StringBuffer();        for(int i=0;i<sb.length();i++){            result.append(sb.charAt(sb.length()-1-i));        }System.out.print(result);        return result.toString();    }
------解决方案--------------------
都是基础题,LZ应该好好思考
还是贴下代码吧。。。
Java code
import java.util.Scanner;public class Test {    public static void main(String[] args) {        test1();        test2();    }        //二进制    static void test1(){        System.out.print("二进制 输入一个数: ");        Scanner scanner = new Scanner(System.in);        try {            int num = scanner.nextInt();            int numTemp = num;            //System.out.println(num + "的二进制数" + Integer.toBinaryString(num));            StringBuffer sBuffer = new StringBuffer();            while(numTemp != 0){                int value = numTemp % 2;                sBuffer.append(value);                numTemp /= 2;            }            System.out.println(num + "的二进制数" + sBuffer.reverse().toString());        } catch (Exception e) {            System.out.println("输入数不合法");        }    }        //质数    static void test2(){        System.out.print("质数 输入一个数: ");        Scanner scanner = new Scanner(System.in);        try {            int num = scanner.nextInt();            for(int i = 2;i < Math.sqrt(num);i++){                if(num % i == 0){                    System.out.println(num + "不是质数");                    return;                }            }            System.out.println(num + "是质数");        } catch (Exception e) {            System.out.println("输入数不合法");        }    }}