Java实现十进制数转十六进制数
Now~Let's begin our second question~
如何利用Java语言将十进制数字转换成十六进制数字呢?
我第一次编码出来的效果是酱紫的~
/**
*
*/
package com.succez.task2; import java.util.Scanner; /**
* <p>Copyright: Copyright (c) 2018</p>
* <p>succez</p>
* @author ZhangJinjin
* @createdate 2018年5月3日
*/
public class intToHex { /**
* 先输入一个整型数字,判断其是否为0,若为0,则其16进制同样为0;
* 若number不为0,则对16取余,并转换成16进制相应的字符;
* number=number/16,重复过程2、3,用字符数组s依次保存每一位;
* 输出的时候逆序输出即可
*/
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
int i = 0;
char[] S = new char[100];
if(number == 0){
System.out.print(0);
}
else{
while(number!=0)
{
int t=number%16;
if(t >=0 && t<10)
{
S[i] = (char)(t+'0');
i++;
}
else
{
S[i] = (char)(t+'A'-10);
i++;
}
number=number/16;
} for (int j=i-1;j>=0;j--)
{
System.out.print(S[j]);
}
}
}
}
Of course It's true~
As you can see from the picture~
然而,经过讨论,我们发现尽管这样可以实现它的功能,但是需要费脑子去思考,那么,可不可以很明显清晰地表达呢~
那么,经过一番修改,这样子应该可以了吧~
/**
*
*/
package com.succez.task2; import java.util.Scanner; /**
* <p>Copyright: Copyright (c) 2018</p>
* <p>succez</p>
* @author ZhangJinjin
* @createdate 2018年5月4日
*/
public class intToHex_Alter { /**
* 这次算法用了StringBuffer效率更好
*/
public static void main(String[] args) {
// TODO Auto-generated method stub System.out.println("请输入要转换的十进制的数:");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
System.out.println("转换的十六进制的数为:"+intToHex(n));
} private static String intToHex(int n) {
StringBuffer s = new StringBuffer();
String a;
char []b = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
while(n != 0){
s = s.append(b[n%16]);
n = n/16;
}
a = s.reverse().toString();
return a;
} }
嘻嘻~已经提交啦,OK~
下面来看看 StringBuffer
String类型的相加效率并不高,所以这个时候就要考虑StringBuffer里面的append()这个方法~
OK,简直完美~
/**
*
*/
package com.succez.task2; import java.util.Scanner; /**
* <p>Copyright: Copyright (c) 2018</p>
* <p>succez</p>
* @author ZhangJinjin
* @createdate 2018年5月4日
*/
public class intToHex_Alter { /**
* 这次算法用了StringBuffer效率更好
*/
public static void main(String[] args) {
// TODO Auto-generated method stub System.out.println("请输入要转换的十进制的数:");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
System.out.println("转换的十六进制的数为:"+intToHex(n));
} private static String intToHex(int n) {
//StringBuffer s = new StringBuffer();
StringBuilder sb = new StringBuilder(8);
String a;
char []b = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
while(n != 0){
sb = sb.append(b[n%16]);
n = n/16;
}
a = sb.reverse().toString();
return a;
} }
Java实现十进制数转十六进制数的更多相关文章
- Java如何将十六进制数转换为十进制数的自编程序
package com.swift;//所属包 import java.util.Scanner;//导入扫描器 public class Hex2Decimal { public static vo ...
- 在Java中,为什么十六进制数0xFF取反之后对应的十进制数是-256呢?
int number = 0xFF: 字面值是指在程序中无需变量保存,可直接表示为一个具体的数字或字符串的值. 0xFF是一个整数字面值,整数字面值的缺省类型是 int. 我们知道在Java中, in ...
- java_十进制数转换为二进制,八进制,十六进制数的算法
java_十进制数转换为二进制,八进制,十六进制数的算法 java Ê®½øÖÆÊýת»»Îª¶þ½øÖÆ,°Ë½øÖÆ,Ê®Áù½øÖÆÊýµÄË㕨 using System; using S ...
- Java中实现十进制数转换为二进制的三种思路
Java中实现十进制数转换为二进制 第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒 ...
- java语言将任意一个十进制数数字转换为二进制形式,并输出转换后的结果
package com.llh.demo; import java.util.Scanner; /** * * @author llh * */ public class Test { /* * 将任 ...
- 【模板小程序】任意长度非负十进制数转化为二进制(java实现)
妈妈再也不用担心十进制数过大了233(注意只支持非负数) import com.google.common.base.Strings; import java.math.BigInteger; imp ...
- 算法笔记_161:算法提高 十进制数转八进制数(Java)
目录 1 问题描述 2 解决方案 1 问题描述 编写函数,其功能为把一个十进制数转换为其对应的八进制数.程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数. 样例输入 9274 样 ...
- Java实现算法提高十进制数转八进制数
算法提高 十进制数转八进制数 时间限制:1.0s 内存限制:512.0MB 编写函数,其功能为把一个十进制数转换为其对应的八进制数.程序读入一个十进制数,调用该函数实现数制转换后,输出对应的八进制数. ...
- Java中实现十进制数转换为二进制的三种方法
第一种:除基倒取余法 这是最符合我们平时的数学逻辑思维的,即输入一个十进制数n,每次用n除以2,把余数记下来,再用商去除以2...依次循环,直到商为0结束,把余数倒着依次排列,就构成了转换后的二进制数 ...
随机推荐
- C# 生成机器码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- R语言学习笔记(七): 排序函数:sort(), rank(), order()
sort() sort()函数直接对函数进行排序,并返回排序结果. > a <- c(12,4,6,5) > sort(a) [1] 4 5 6 12 rank() rank()函数 ...
- cf776D Mahmoud and a Dictionary
Mahmoud wants to write a new dictionary that contains n words and relations between them. There are ...
- 小米Pro 15.6 系统重装记录
参考链接:http://bbs.xiaomi.cn/t-14321262,主要是miui论坛和小米社区的一位同学的教程,. 这位同学是针对12.5和13.3的版本做的教程,15.6和之前的版本有一小点 ...
- 一种简单实用的双向电平转换电路3.3V-5V
当你使用3.3V的单片机的时候,电平转换就在所难免了,经常会遇到3.3转5V或者5V转3.3V的情况,这里介绍一个简单的电路,他可以实现两个电平的相互转换(注意是相互哦,双向的,不是单向的!).电路十 ...
- 台湾ML笔记--1.1什么时候适合使用ML
适用情况: 1 exists some 'underlying pattern' to be learned --so 'performance measure' can be imporoved 例 ...
- RevealTrans图片切换效果
RevealTrans 更新时间:2013-06-01 17:11:59 | RevealTrans兼容性:IE5.5+ 语法: filter : progid:DXImageTransform.Mi ...
- Ngix配置,让所有请求指向同一个文件
统一入口使所有请求在同一个文件先验证处理,Ngix添加如下代码: location / { try_files '' /index.php; }
- Django入门与实战
第1章 介绍课程目标及学习内容 1-1 课程介绍: 第2章 课前准备 2-1 课前准备: 第3章 开发环境搭建 3-1 开发环境搭建: 第4章 创建项目及应用 4-1 创建项目,并了解项目目录下的部分 ...
- C++学习---- static关键字用法总结
static: 作用:存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化.共有两种变量存储在静态存储区:全局变量和static变量. 1.隐藏:(静态全局变量和静态函数) ...