/**
* 十进制转换成二进制
*/
package review;
/**
* 导入相应的包类
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
/**
* @author 杨忠盛
* @version 1.0 , 2007-3-20
*/
public class ToBinaryString {
/**用于连接所有计算出来的二进制字符,以字符串形式存储*/
String BinaString;
/**
* 构造方法
*/
protected ToBinaryString(){
}
/**
* 此方法用于计算二进制
* @param num 为要转换成二进制的数
*/
public String toBinaString(int num){
/**定义一个ArrayList对象用于存储每一位计算出来的二进制数*/
ArrayList<Integer> numArray = new ArrayList<Integer>();
/**
* 计算每一位二进制数
*/
while(true){
numArray.add( num % 2 );
if(num==0) break;
num = num / 2;
}
/**倒序排列计算出的二进制数,并将其转换成字符形式连接在一起*/
for(int i=numArray.size()-1;i>=0;i--){
BinaString += String.valueOf(numArray.get(i));
}
return BinaString.substring(5);//以二进制字符串形式返回计算的结果
}
/**
* 此方法用于显示信息
*/
public void display(){
/**定义一个十进制数*/
int num10;
System.out.print("请输入要转换的十进制数:");
/**从键盘输入*/
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
String str = br.readLine();//读取一个文本行
num10 = Integer.parseInt(str);//转换成 int 型并赋值给 num10
System.out.println("十进制为:" + num10);
/**调用 toBinaString 方法转换成二进制*/
String num2 =toBinaString(num10);
System.out.print("转换成二进制为:" + num2);
} catch (IOException e) {
/**抛出异常*/
System.out.println(e);
}
}
/**
* 程序的唯一入口点 main 方法
* @param args 传递至 main 的参数
*/
public static void main(String[] args) {
ToBinaryString newNum = new ToBinaryString();
newNum.display();
}
}