標籤:java 編程
寫一個函數trans();
1 能夠進行十進位轉二進位
2 能夠進行十進位轉八進位
3 能夠進行十進位轉十六進位
4 封裝函數
代碼實現:
class ArraryTest {public static void main(String[] args) {int num=60;String str_Bin=toBinary(num);String str_Oct=toOctal(num);String str_Hex=toHex(num);System.out.println("自己定義的轉換");System.out.println("bin: "+str_Bin);System.out.println("oct: "+str_Oct);System.out.println("hex: "+str_Hex);System.out.println("系統內建的轉換");System.out.println(Integer.toBinaryString(60));System.out.println(Integer.toOctalString(60));System.out.println(Integer.toHexString(60));}///十進位轉十六進位public static String toHex(int num){return "0x"+trans(num,15,4);} ///十進位轉二進位public static String toBinary(int num){return trans(num,1,1);} ///十進位轉八進位public static String toOctal(int num){return "0"+trans(num,7,3);}///調用trans函數根據需求進行轉換public static String trans(int num,int base,int offset){///base 按位與的數 offset 右移位元if(num==0)return "0"; ///打表 完成進位轉換char []chs={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};char []arr=new char[32];int index=arr.length;///具體操作while(num!=0){int temp=num&base;arr[--index]=chs[temp];num=num>>>offset;}return toString(arr,index);}///數字轉字串函數public static String toString(char []arr,int pos){String temp="";for(int i=pos;i<arr.length;++i){temp+=arr[i];}return temp;}}
運行結果:
我的第一個JAVA程式感覺還好
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
JAVA 學習 進位轉換