java 十六进制数的转换
今天晚上做了一道java基础题,题目看起来简单,但是实现起来却花了我近两个小时的时间,认真的做这道题,你会发现它特别考你的基本功。有兴趣的可以试一下哦。
题目: 请用此语言编写如下函数,采用自己的算法,不要使用 printf, sprintf,Format, toString, itoa,toHex等函数。
函数名称 TQ_GetHexStringEx
参数
整数 iNumber
整数 iCount
返回值
字符串类型
函数描述
获得表示iNumber十六进制字符串,宽度不足iCount时,前面补0。
举例
TQ_GetHexStringEx(12,2); 返回 “0C”
TQ_GetHexStringEx(12,8); 返回 “000000C
下面是两种实现方式,不过第二种用到了toString方法。大家有好的算法,欢迎拍砖。
实现一:
package test;
import java.io.*;
public class ToHexTest {
public String s="";
public static void main(String arg[]) {
ToHexTest a = new ToHexTest();
System.out.print(a.TQ_GetHexStringEx(12,8));
}
public String TQ_GetHexStringEx(int iNumber,int iCount){
HexString(iNumber);
int length=s.length();
for(int i=0;i<iCount-length;i++)
{
s="0"+s;
}
return s;
}
//编写数的十六进制
public void HexString(int x) {
if (x > 0)
HexString(x / 16);
else
return;
if (x % 16 == 10) {
s=s+"A";
} else if (x % 16 == 11) {
s=s+"B";
} else if (x % 16 == 12) {
s=s+"C";
} else if (x % 16 == 13) {
s=s+"D";
} else if (x % 16 == 14) {
s=s+"E";
} else if (x % 16 == 15) {
s=s+"F";
} else
s=s+x % 16;
}
}
实现二:
package test;
import java.io.*;
public class ToHex {
public static void main(String arg[]) {
ToHex a = new ToHex();
System.out.print(a.TQ_GetHexStringEx(12, 8));
}
public String TQ_GetHexStringEx(int iNumber,int iCount){
StringBuffer sb=new StringBuffer();
StringBuffer sb1=new StringBuffer();
HexString(iNumber,sb);
for(int i=0;i<iCount-sb.length();i++)
{
sb1.append("0");
}
return sb1.append(sb).toString();
}
//编写数的十六进制
public void HexString(int x,StringBuffer sb) {
if (x > 0)
HexString(x / 16,sb);
else
return;
if (x % 16 == 10) {
sb.append("A");
} else if (x % 16 == 11) {
sb.append("B");
} else if (x % 16 == 12) {
sb.append("C");
} else if (x % 16 == 13) {
sb.append("D");
} else if (x % 16 == 14) {
sb.append("E");
} else if (x % 16 == 15) {
sb.append("F");
} else
sb.append(x % 16);
}
}
java 十六进制数的转换相关推荐
- VB与Java颜色值的转换
正常的 RGB 颜色的有效范围,是从 0 到 16,777,215 (&HFFFFFF&).每种颜色的设置值(属性或参数)都是一个四字节的整数.对于这个 范围内的数,其高字节都是 0, ...
- java线程切换 notify_浅谈 Java线程状态转换及控制
作者:城北有个混子 出自:博客园 1.线程的状态(系统层面) 一个线程被创建后就进入了线程的生命周期.在线程的生命周期中,共包括新建(New).就绪(Runnable).运行(Running).阻塞( ...
- Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- java 擦出,Java擦除和转换实例分析
本文实例讲述了Java擦除和转换.分享给大家供大家参考,具体如下: 一 点睛 在严格的泛型代码里,带泛型声明的类总应该带着类型参数.但为了与老的Java代码保持一致,也允许在使用带泛型声明的类时不指定 ...
- Java父类强制转换子类原则
转载自 Java父类强制转换子类原则 最近,微信群友在讨论子类父类的转换问题,其实不难,给大家用实例来说明一下就很明了了. 我们知道Java中子类转换成父类是没有任何问题的,那父类可以转换成子类吗? ...
- java.util.Date转换成java.sql.Date
// 获取当前的系统时间,以java.util.Date对象返回 Date dateUtil = new Date(); // 获取当前的系统时间,以时间戳返回 long l = System.cur ...
- json java typeof_Json对象与Json字符串的转化、JSON字符串与Java对象的转换
一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符 ...
- 【图解】透彻Java线程状态转换
大家好,我是阿星,好久不见,欢迎来到Java并发编程系列番外篇线程状态转换,内容通俗易懂,请放心食用. 线程状态 先来个开场四连问 Java线程状态有几个? Java线程状态是如何转换? Java线程 ...
- Java日期格式转换
Java时间格式转换大全 import java.text.*; import java.util.Calendar; public class VeDate { /** * 获取现在时间 ...
最新文章
- OpenCV2.3的cvCalcHist函数有问题?255级值总为0,索性自己写一个直方图计算函数,附源码
- Hadoop streaming: Exception in thread main java.io.IOException: No space left on device
- 对话腾讯云汽车业务副总经理李博:构建出行大版图,腾讯云迈向新征程
- Electrification
- LeetCode 1961. 检查字符串是否为数组前缀
- 基于Alluxio系统的Spark DataFrame高效存储管理技术
- JSP的9个内置对象-request
- 降低成本是永恒的追求(xamarin)
- Ubuntu 禁用 触摸板
- 服务器LCD显示面板,DELL服务器2950的错误代码表(前LCD面板)
- ECSHOP商城网站建设之自定义调用广告方法(二)
- codevs 2651 孔子教学——同桌
- 三维设计和动画:Cinema 4D R25 for mac(c4d r25)
- W/ActivityManager( 1419): Activity is launching as a new task, so cancelling activity result.
- 手机远程服务器总说磁盘空间不足,查询远程服务器上磁盘空间的最佳方式
- Axure RP从入门到精通(二十)鼠标指针函数
- 常用电子元器件基础知识总结
- 不明白如何将批量图片格式转换?2招教你们快速搞定
- 昆仑通态和S7 1200在线模拟仿真通讯
- 回传速率和测量带宽及两者之间的联系
热门文章
- Spring(三)Bean继续入门
- Scala学习小小总结
- 简述L4无人驾驶的发展
- 服务号php代码示例,php实现银联商务公众号+服务窗支付的示例代码
- installshield mysql_installshield安装文件的制作小技巧
- 爬去图片插件_学不会你打我,一个插件爬取亚马逊数据!
- android 导航自动切换,Android导航抽屉切换图标向右
- python pandas读取文件内容_python pandas读取大型文件
- apache 网站转nginx_堡塔网站加速宝塔面板网站加速安装设置使用教程
- 述职答辩提问环节一般可以问些什么_陕西省高级职称评审,90%的人都“死”在答辩上?...