【循环 整除 求余 判断】

/*问题描述

  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。

  给出一个非负整数,将它表示成十六进制的形式。

输入格式

  输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647

输出格式

  输出这个整数的16进制表示

样例输入

30

样例输出

1E*/

心得:

  这道题本身是没什么难度的,只要用递归处理,当输入的数字大于等于16时,则递归处理该数整除16的值,然后再输出最后一位即可。

但是,我在做的时候,一开始没有考虑到整除16后的值大于9的情况和整除16的次数大于9的情况,结果。。。如下图

以后要注意考虑全方面和一定要注意数据范围!

 1 import java.util.Scanner;
 2 public class Main{
 3     public static void main(String[] args){
 4         Scanner sc=new Scanner(System.in);
 5         int a=sc.nextInt();
 6         int[] b=new int[8];
 7 //数组b的元素个数由a决定,由于a<=2^32,即a<=16^8
 8         char[] s={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
 9         if(a>=0&&a<16){
10             for(int i=0;i<16;i++){
11
12                 int m=a%16;
13                 if(m==i)
14                         System.out.println(s[i]);
15                     }
16             }
17         else{
18             int i=0;
19             while(a!=0){
20                 b[i]=a%16;
21             a=a/16;
22                 i++;
23             }
24
25         for(int j=i-1;j>=0;j--){
26             if(b[j]==10)
27                 System.out.print("A");
28             else if(b[j]==11)
29                 System.out.print("B");
30             else if(b[j]==12)
31                 System.out.print("C");
32             else if(b[j]==13)
33                 System.out.print("D");
34             else if(b[j]==14)
35                 System.out.print("E");
36             else if(b[j]==15)
37                 System.out.print("F");
38             else
39                 System.out.print(b[j]);
40         }
41         }
42         }
43 }

转载于:https://www.cnblogs.com/beckljm/p/4254070.html

蓝桥杯 之 基础练习10:十进制转十六进制相关推荐

  1. 蓝桥杯专题-试题版-【十进制转十六进制】【十六进制转八进制】【十六进制转十进制】【数的读法】

    点击跳转专栏=>Unity3D特效百例 点击跳转专栏=>案例项目实战源码 点击跳转专栏=>游戏脚本-辅助自动化 点击跳转专栏=>Android控件全解手册 点击跳转专栏=> ...

  2. 蓝桥杯试题 基础练习 BASIC-11 十六进制转十进制 JAVA——冲刺蓝桥杯第六天

    目录 前言 试题 基础练习 十六进制转十进制 要点 思路一:常规做法--进制转换 字符 循环 本题代码 思路二:简单做法,使用java自带的方法 本题代码 前言 进制转化包括这篇我写了三篇了,这篇没讲 ...

  3. 蓝桥杯试题 基础练习 十六进制转十进制

    蓝桥杯试题 基础练习 十六进制转十进制 C/C++实现 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出. ...

  4. 蓝桥杯试题 基础练习 十进制转十六进制

    蓝桥杯试题 基础练习 十进制转十六进制 C/C++ 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4, ...

  5. 【蓝桥杯】基础练习 特殊回文数

    [蓝桥杯]基础练习 特殊回文数 试题 基础练习 特殊回文数 资源限制 时间限制:1.0s   内存限制:512.0MB 问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一 ...

  6. Python 蓝桥杯试题 基础练习 特殊回文数

    Python 蓝桥杯试题 基础练习 特殊回文数 问题描述: 123321是一个非常特殊的数,它从左边读和从右边读是一样的. 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于 ...

  7. java 龟兔赛跑预测_Java实现 蓝桥杯VIP 基础练习 龟兔赛跑预测

    题目描述 话说这个世界上有各种各样的兔子和乌龟,但是 研究发现,所有的兔子和乌龟都有一个共同的特点--喜欢赛跑.于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔 ...

  8. Python 蓝桥杯试题 基础练习 十六进制转八进制

    Python 蓝桥杯试题 基础练习 十六进制转八进制 问题描述 给定n个十六进制正整数,输出它们对应的八进制数. 输入格式 输入的第一行为一个正整数n (1<=n<=10). 接下来n行, ...

  9. Python 蓝桥杯试题 基础练习 字母图形

    Python 蓝桥杯试题 基础练习 字母图形 问题描述: 利用字母可以组成一些美丽的图形,下面给出了一个例子: ABCDEFG BABCDEF CBABCDE DCBABCD EDCBABC 这是一个 ...

最新文章

  1. 数据类型对应的字节数
  2. jdbc mysql 返回游标_使用JdbcTemplate流式(游标)读取数据库
  3. PLSQL 使用技巧汇总贴(一个坑)
  4. ajax与微服务,微服务 - 如何解决跨域
  5. PowerShell 收集计算机相关信息
  6. Altium designer原理图导入word文档模糊——终极解决办法
  7. 【SQL Server】阿里云CentOS安装SQL Server教程 含破解3.5G内存的限制、win端远程连接
  8. 《Java从入门到放弃》JavaSE入门篇:文件操作
  9. java 打印命令_Java 普通命令行程序main关掉 DEBUG 打印
  10. element-ui el-radio 回显格式为中文 传值格式为数值
  11. mysql中 routine
  12. 为什么有人说Java开发不再吃香
  13. 企业级生产环境CICD入门
  14. 3月22 关于CSS
  15. 68超标量流水线的基本概念
  16. 自制solidworks图框步骤_SolidWorks教你如何快速制作工程图模板
  17. CADD课程学习(13)-- 研究蛋白小分子动态相互作用-III(蛋白配体复合物 GROMACS)
  18. 2016年软件评测师真题精选
  19. 下一个冷链独角兽:C轮融资后,九曳供应链如何撬动生鲜市场?
  20. shell的课程大纲

热门文章

  1. Gnuplot 简单使用
  2. [翻译]DirectX 状态( 转)
  3. 在.NET中excel导出方法汇总(收集)
  4. RxPermissions 源码解析之举一反三
  5. JS内存管理与垃圾回收
  6. Zabbix2.2.6邮件报警设置方法
  7. centos6.5下搭建oracle 11g
  8. github 学习使用
  9. 清华大学《操作系统》(六):非连续内存分配 段式、页式、段页式存储管理
  10. 装机之windows10和ubuntu双系统