Java十進位制轉二進位制,遞迴演算法
阿新 • • 發佈:2018-12-31
用遞迴演算法求一個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); } }