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 十六进制数的转换的更多相关文章
- Java中byte转换int时与0xff进行与运算的原因
http://w.baike.com/LGAdcWgJBBQxRAHUf.html 转帖 java中byte转换int时为何与0xff进行与运算 在剖析该问题前请看如下代码 public static ...
- Scala集合和Java集合对应转换关系
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 用Scala编码的时候,经常会遇到scala集合和Java集合互相转换的case,特意mark一 ...
- JSONObject.fromObject(map)(JSON与JAVA数据的转换)
JSON与JAVA数据的转换(JSON 即 JavaScript Object Natation,它是一种轻量级的数据交换格式,非常适合于服务器与 JavaScript 的交互.) 上一篇文章中有这么 ...
- 实现十进制无符号整数m到十六进制数的转换功能
/*利用顺序栈结构,编写算法函数void Dto16(unsigned int m)实现十进制无符号整数m到十六进制数的转换功能.*//******************************** ...
- Java文件编码格式转换
转自博文<Java文件编码格式转换>: 默认被转换的格式为GBK,转换成的格式为UTF-8 import info.monitorenter.cpdetector.CharsetPrint ...
- java 实现视频转换通用工具类:视频截图-Ffmpeg(四)
java 实现视频转换通用工具类:获取视频元数据信息(一) java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二) java 实现视频转换通用工具类:视频相互转换-Ffmpeg ...
- java 实现视频转换通用工具类:视频相互转换-Ffmpeg(三)
java 实现视频转换通用工具类:获取视频元数据信息(一) java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二) 这节主要是ffmpeg的相关方法封装,在实际调用中主要使用f ...
- java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder(二)
1.自动判断格式并调用相应的转换工具,默认方法 /** * 自动判断格式并调用相应的转换工具,默认方法 * @param srcVideoPath * @param tarVideoPath * @r ...
- java 实现视频转换通用工具类:获取视频元数据信息(一)
java 做视频转换主要用到开源的ffmpeg或者mencoder,还要有MP4Box. 注:由于平时都没有时间写博客,所以思路我就不写了,有问题问我,不一定马上回复. 详细介绍: ffmpeg:ht ...
随机推荐
- php类的实现
zend_class_entry typedef struct _zend_class_entry zend_class_entry; struct _zend_class_entry { char ...
- 8.3-8.7 usaco
summary:38 vijos1002:青蛙跳河. dp+压缩.距离大于100可以直接%100.然后数据范围小了很多可以dp了. #include<cstdio> #include< ...
- POJ 2677 Tour
题意:双调欧几里得旅行商问题.算法导论15-1题,从最左边的点严格从左走到右再从右走到左回到起点,所有点都要走且只走一次,求最短路径. 解法:定义dp[i][j]表示从i走到j的双调路径,分为两种情况 ...
- android 打包签名
1.Eclipse工程中右键工程,弹出选项中选择 android工具 → 生成签名应用包 2.选择需要打包的android项目工程 3.如果已有私钥文件,选择私钥文件 输入密码,如果没有私钥文件见第6 ...
- About Wisdom
All human wisdom is summed up in two words --- wait and hope.人类所有的智慧可以归结为两个词---等待和希望. —— Alexandre D ...
- windows和linux间互传文件
方法1:Xshell传输文件 用rz,sz命令在xshell传输文件 很好用,然后有时候想在windows和linux上传或下载某个文件,其实有个很简单的方法就是rz,sz 首先你的Ubuntu需要安 ...
- 八、jdk工具之JvisualVM、JvisualVM之一--(visualVM介绍及性能分析示例)
目录 一.jdk工具之jps(JVM Process Status Tools)命令使用 二.jdk命令之javah命令(C Header and Stub File Generator) 三.jdk ...
- 10、Android数据存储
课程目标: 掌握Android中数据存储的几种方式 熟练使用PreferenceActivity&PreferenceScreen做专业的Setting功能 熟练使用SQLite3来存储数据 ...
- Python脚本控制的WebDriver 常用操作 <五> 访问链接
下面将使用webdriver来访问一个web链接 测试用例场景 测试中,经常会点击几个链接来进行操作,所以访问链接是基本的常见操作 Python脚本 from selenium import webd ...
- wuzhicms 自定义SQL 标签
{wz:sql sql="select * from wz_guestbook"} {loop $rs $r} {$r[title]} {/loop} {/wz} 自定义统计条数: ...