|
上次的标题题目:
编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,仍是其中包含有非数字字符的情况。 提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如斯轮回,直到被除数为0为止。实在,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很轻易理解十进制数转二进制数的这种方式。
我自己写了个谜底 大侠看看对么
import javax.swing.*;
public class jinzhi{
public static void main(String[] args){
String a = JOptionPane.showInputDialog("请输入字符: ");
jinzhi j = new jinzhi();
j.jz(a);
}
public void jz(String b){
String f = Integer.valueOf(b,10).toString();
System.out.println(f);
int d = Integer.parseInt(f);
int c;
String result="";
for(int i = d;i>=1;i/=2){
if(i%2 == 0){
c = 0;
}
else{
c = 1;
}
result = c + result;
}
System.out.print(result);
}
}
先把结构写出来了 还没考虑异常 |
|