java中十进制转换为任意进制

来源:互联网 发布:荼荼丸 知乎 编辑:程序博客网 时间:2024/05/16 00:39

一次笔试时候遇到的关于十进制转换成十三进制的编程题。

先说说简单的思路吧:

1、十进制数 num 转换为 n进制

  num%n结果肯定为n进制数的最后一位

  结果存入一个数组中

2、进入一个循环num!=0时候

  num=num/n 

重复1的操作

将倒数第二位、倒数第三位。。。到最终结果存入数组

3、遍历数组从 count到0

代码如下

package com.cslience.test;/* * 作者:cslience * 功能:十进制转换成任意进制的方法 * 求余数将其存入数组中 *  */public class Transformation {/** * @param args */public void transform(int num,int n){//参数num为输入的十进制数,参数n为要转换的进制int array[]=new int[100];int location=0;while(num!=0){//当输入的数不为0时循环执行求余和赋值int remainder=num%n;num=num/n;array[location]=remainder;//将结果加入到数组中去location++;}show(array,location-1);}private void show(int[] arr,int n){for(int i=n;i>=0;i--){if(arr[i]>9){System.out.print((char)(arr[i]+55));}elseSystem.out.print(arr[i]+"");}}public static void main(String[] args){// 测试用例Transformation t=new Transformation();t.transform(18, 8);}}



原创粉丝点击