1. 程式人生 > >Java十進位制轉二進位制,遞迴演算法

Java十進位制轉二進位制,遞迴演算法

用遞迴演算法求一個int的二進位制字串;

思路是:遞迴最簡單情況(遞迴出口)是0和1;其餘的是先呼叫遞迴算出n/2的二進位制字串,然後加上n時的位數(n % 2)。

import java.util.Scanner;

public class WriteBinary {
	public static String writeBinary(int n){
		String binary = "";
		if(n < 0)
			throw new IllegalArgumentException();
		if(n <= 1){
			binary = binary + String.valueOf(n);
			return binary;
		}
		else{
			binary = writeBinary(n/2);
			binary = binary + String.valueOf(n % 2);
		}
		return binary;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.print("Please input a num : ");
		Scanner scan = new Scanner(System.in);
		int input = scan.nextInt();
		String binary = WriteBinary.writeBinary(input);
		System.out.println(input + " binary String is " + binary);
	}
}