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

先说说简单的思路吧:

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

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

结果存入一个数组中

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

num=num/n

重复1的操作

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

3、遍历数组从 count到0

代码如下

  1. package com.cslience.test;
  2. /*
  3. * 作者:cslience
  4. * 功能:十进制转换成任意进制的方法
  5. * 求余数将其存入数组中
  6. *
  7. */
  8. public class Transformation {
  9. /**
  10. * @param args
  11. */
  12. public void transform(int num,int n){
  13. //参数num为输入的十进制数,参数n为要转换的进制
  14. int array[]=new int[100];
  15. int location=0;
  16. while(num!=0){//当输入的数不为0时循环执行求余和赋值
  17. int remainder=num%n;
  18. num=num/n;
  19. array[location]=remainder;//将结果加入到数组中去
  20. location++;
  21. }
  22. show(array,location-1);
  23. }
  24. private void show(int[] arr,int n){
  25. for(int i=n;i>=0;i--){
  26. if(arr[i]>9){
  27. System.out.print((char)(arr[i]+55));
  28. }
  29. else
  30. System.out.print(arr[i]+"");
  31. }
  32. }
  33. public static void main(String[] args)
  34. {
  35. // 测试用例
  36. Transformation t=new Transformation();
  37. t.transform(18, 8);
  38. }
  39. }

java中十进制转换为任意进制的更多相关文章

  1. 16进制字符串和byte数组进行相互转换\将10进制转换为任意进制

    16进制字符串和byte数组进行相互转换 简介 1个byte对应8个bit,16进制使用4个bit,所以一个byte转成16进制,占用两位. JAVA代码 private static final c ...

  2. Java基础知识强化106:Java中 int 的各进制之间的转换

    1.二.八.十.十六进制之间的转换  下面是示例代码,我们直接通过JDK工具库中的方法实现的,如下: public static Integer valueOf(String s, int radix ...

  3. Java中char转为16进制

    Java中char转为16进制 char a = '0'; String hexStr = Integer.toHexString(a); System.out.println(hexStr);

  4. Java中字符串转为16进制表示

    Java中字符串转为16进制表示 String str = "鲸"; char[] chars = "0123456789ABCDEF".toCharArray ...

  5. Java中byte与16进制字符串的互相转换

    * Convert byte[] to hex string.这里我们可以将byte转换成int,然后利用Integer.toHexString(int)来转换成16进制字符串. * @param s ...

  6. [转]Java中byte与16进制字符串的互相转换

    Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符, ...

  7. C#十进制与任意进制的转换

    /// <summary> /// 将十进制转换为指定的进制 /// </summary> /// <param name="Val">十进制值 ...

  8. 利用java中的BigInteger实现进制转换

    [原创] java中的进制BigInteger十分的强大,而且好用,他可以表示任意大的整数,同时还可以进行进制转换,十分的方便, 代码示例: package com.jiajia.demo_1; im ...

  9. js模拟栈---进制转化。十进制转任意进制进制,任意进制转十进制

    var Stack = (function(){ var items = new WeakMap(); //先入后出,后入先出 class Stack{ constructor(){ items.se ...

随机推荐

  1. python django model filter 条件过滤,及多表连接查询、反向查询,某字段的distinct[转]

    1.多表连接查询:当我知道这点的时候顿时觉得django太NX了.   class A(models.Model):     name = models.CharField(u'名称')   clas ...

  2. hadoop 2.7.3 源码编译教程

    1.工具准备,最靠谱的是hadoop说明文档里要求具备的那些工具. 到hadoop官网,点击source下载hadoop-2.7.3-src.tar.gz. 解压之 tar -zxvf hadoop- ...

  3. VMware与Windows主机交换文件

    1. 安装 VMwareTool ,直接拖拽文件 2. 安装 VMwareTool,然后WMare配置 共享文件夹 3. 通过 U盘 4. for Linux:Windows安装 SSH Client ...

  4. js图片倒计时

    var discountOnline = !{discountOnline} if (discountOnline) { _fresh() setInterval(_fresh, 1000); } v ...

  5. Updated: Database Partitioning with EBS Whitepaper

    Partitioning allows a single database table and its associated indexes to be broken into smaller com ...

  6. 010-对象——构造方法__construct析构方法__destruct使用方法 PHP重写与重载

    <?php /*抽象方法和抽象类 抽象类必须通过子类继承之后,才能实现实例化. 类中有抽象方法,必须声明抽象类. 如果是抽象类,可以没有抽象方法,但必须通过子类去继承之后,实现实例化 final ...

  7. WinForm 创建与读写配置文件

    (转自:http://www.cnblogs.com/SkySoot/archive/2012/02/08/2342941.html) 1. 创建 app.config 文件: 右击项目名称,选择“添 ...

  8. LeetCode OJ:Plus One (加1)

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  9. The Saltwater Room

    I opened my eyes last night and saw you in the low light 昨夜我睁开眼,看见你在昏暗的灯光下 Walking down by the bay, ...

  10. 【python】windows下安装xgboost的python库

    傻瓜教程 主要参考了https://www.hongweipeng.com/index.php/archives/826/  和 https://github.com/dmlc/xgboost/iss ...