java中十進制轉換為任意進制


次筆試時候遇到的關於十進制轉換成十三進制的編程題。

先說說簡單的思路吧:

1、十進制數 num 轉換為 n進制

  num%n結果肯定為n進制數的最后一位

  結果存入一個數組中

2、進入一個循環num!=0時候

  num=num/n 

重復1的操作

將倒數第二位、倒數第三位。。。到最終結果存入數組

3、遍歷數組從 count到0

代碼如下

[java]  view plain  copy
 
 print?
  1.   

 

[java]  view plain  copy
 
 print?
  1. package com.cslience.test;  
  2. /* 
  3.  * 作者:cslience 
  4.  * 功能:十進制轉換成任意進制的方法 
  5.  * 求余數將其存入數組中 
  6.  *  
  7.  */  
  8. public class Transformation {  
  9.   
  10.     /** 
  11.      * @param args 
  12.      */  
  13.   
  14.     public void transform(int num,int n){  
  15.         //參數num為輸入的十進制數,參數n為要轉換的進制  
  16.         int array[]=new int[100];  
  17.         int location=0;  
  18.         while(num!=0){//當輸入的數不為0時循環執行求余和賦值  
  19.             int remainder=num%n;  
  20.             num=num/n;  
  21.             array[location]=remainder;//將結果加入到數組中去  
  22.             location++;  
  23.         }  
  24.         show(array,location-1);  
  25.   
  26.     }  
  27.     private void show(int[] arr,int n){  
  28.         for(int i=n;i>=0;i--){  
  29.             if(arr[i]>9){  
  30.                 System.out.print((char)(arr[i]+55));  
  31.             }  
  32.             else  
  33.                 System.out.print(arr[i]+"");  
  34.         }  
  35.     }  
  36.     public static void main(String[] args)  
  37.     {  
  38.         // 測試用例  
  39.         Transformation t=new Transformation();  
  40.         t.transform(18, 8);  
  41.   
  42.     }  
  43.   
  44. }  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM