Java小程序:十进制转二进制
来源:互联网 发布:偶像梦幻祭卡牌数据 编辑:程序博客网 时间:2024/04/27 05:26
/** * 9.编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。提示如下: * 这个程序要考虑输入的字符串不能转换成一个十进制整数的情况 * ,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2 * ,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2 * ,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式 * (不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。 * @author yajun */public class Binary {public static void main(String[] args) {//局部变量String str = null;int deci;int bina = 0;Scanner scan=new Scanner(System.in);Binary obj=new Binary();//逻辑System.out.println("欢迎使用10进制转二进制程序,请输入2的31次方范围内的数字,输入exit,退出程序,谢谢。");while(true){str=scan.nextLine();if(str.equals("exit")){break;}deci=obj.convert(str);if(deci!=-1){bina=obj.toBinary(deci);}//调试System.out.println("用户输入:"+str+"\t转换为二进制为:"+bina);}}private int toBinary(int decimal){int binary;StringBuilder sb=new StringBuilder();int remainder;//业务逻辑while(decimal!=0){remainder=decimal%2;decimal/=2;sb.append(remainder);}sb.reverse();binary=Integer.valueOf(sb.toString());//调试//System.out.println(sb);return binary;}//测试toBinary方法是否正确@Testpublic void testToBinary(){int data=10;int result=toBinary(data);Assert.assertEquals(Integer.toBinaryString(data), result+"");}//判断字符串是否可以转换成整数,如果可以转换之private int convert(String str){int result = -1;char[] temp;String message;boolean isChar = false;try {result=Integer.valueOf(str);} catch (NumberFormatException e) {temp=str.toCharArray();for(char ch:temp){if(!(ch>='0'&&ch<='9')){message="字符串中包含非数字字符:"+ch;isChar=true;System.out.println(message);}}if(!isChar&&(Double.valueOf(str)>=Math.pow(2, 31))){message="数字太大,超出了java中int值的范围";System.out.println(message);}}//End of tryreturn result;}@Testpublic void testConvert(){//convert("yajun");int result=convert(String.valueOf((long)Math.pow(2, 32)-1));System.out.println(result);}@Test//1除2的0余1public void testDivision(){System.out.println(1/2);System.out.println(1%2);}}
0 0
- Java小程序:十进制转二进制
- java小程序:将十进制数用二进制表示出来
- 关于JAVA中十进制转换二进制的小程序
- 十进制转二进制程序
- java十进制转二进制
- java,十进制转二进制
- java 二进制转十进制
- java十进制转二进制
- 二进制转换为十进制的小程序
- 十进制转换为二进制的小程序
- 二进制转十进制的程序
- java 2十进制转二进制
- 二进制转十进制 java版
- java中十进制转二进制
- C语言小程序——十进制小数转二进制小数
- java 二进制转为十进制,十进制转为二进制
- java 二进制转为十进制,十进制转为二进制
- java 进制换转 十进制 转 二进制 八进制 十六进制
- windows 7下安装Android模拟器
- 蓝莓
- ural 1057 Amount of Degrees(数位dp)
- Linux命令学习手册-crontab命令
- 分解链表
- Java小程序:十进制转二进制
- python中的条件和循环
- Property Animation要点总结
- QT事件处理(二) 之 事件过滤器
- 看90后开发的游戏如何闯进AppStore前十
- [Erlang 0100] make_ref 与 Selective Receive
- 高性能、高流量Java Web站点打造的22条建议
- Block的学习记录
- 陈雨