JAVA 学习 进制转换
2015-08-08 19:17
369 查看
写一个函数trans();
1 能够进行十进制转二进制
2 能够进行十进制转八进制
3 能够进行十进制转十六进制
4 封装函数
代码实现:
class ArraryTest {
public static void main(String[] args) {
int num=60;
String str_Bin=toBinary(num);
String str_Oct=toOctal(num);
String str_Hex=toHex(num);
System.out.println("自己定义的转换");
System.out.println("bin: "+str_Bin);
System.out.println("oct: "+str_Oct);
System.out.println("hex: "+str_Hex);
System.out.println("系统自带的转换");
System.out.println(Integer.toBinaryString(60));
System.out.println(Integer.toOctalString(60));
System.out.println(Integer.toHexString(60));
}
///十进制转十六进制
public static String toHex(int num){
return "0x"+trans(num,15,4);
}
///十进制转二进制
public static String toBinary(int num){
return trans(num,1,1);
}
///十进制转八进制
public static String toOctal(int num){
return "0"+trans(num,7,3);
}
///调用trans函数根据需求进行转换
public static String trans(int num,int base,int offset){///base 按位与的数 offset 右移位数
if(num==0)
return "0";
///打表 完成进制转换
char []chs={'0','1','2','3','4',
'5','6','7','8','9',
'A','B','C','D','E','F'};
char []arr=new char[32];
int index=arr.length;
///具体操作
while(num!=0){
int temp=num&base;
arr[--index]=chs[temp];
num=num>>>offset;
}
return toString(arr,index);
}
///数字转字符串函数
public static String toString(char []arr,int pos){
String temp="";
for(int i=pos;i<arr.length;++i){
temp+=arr[i];
}
return temp;
}
}
运行结果:
我的第一个JAVA程序感觉还好
1 能够进行十进制转二进制
2 能够进行十进制转八进制
3 能够进行十进制转十六进制
4 封装函数
代码实现:
class ArraryTest {
public static void main(String[] args) {
int num=60;
String str_Bin=toBinary(num);
String str_Oct=toOctal(num);
String str_Hex=toHex(num);
System.out.println("自己定义的转换");
System.out.println("bin: "+str_Bin);
System.out.println("oct: "+str_Oct);
System.out.println("hex: "+str_Hex);
System.out.println("系统自带的转换");
System.out.println(Integer.toBinaryString(60));
System.out.println(Integer.toOctalString(60));
System.out.println(Integer.toHexString(60));
}
///十进制转十六进制
public static String toHex(int num){
return "0x"+trans(num,15,4);
}
///十进制转二进制
public static String toBinary(int num){
return trans(num,1,1);
}
///十进制转八进制
public static String toOctal(int num){
return "0"+trans(num,7,3);
}
///调用trans函数根据需求进行转换
public static String trans(int num,int base,int offset){///base 按位与的数 offset 右移位数
if(num==0)
return "0";
///打表 完成进制转换
char []chs={'0','1','2','3','4',
'5','6','7','8','9',
'A','B','C','D','E','F'};
char []arr=new char[32];
int index=arr.length;
///具体操作
while(num!=0){
int temp=num&base;
arr[--index]=chs[temp];
num=num>>>offset;
}
return toString(arr,index);
}
///数字转字符串函数
public static String toString(char []arr,int pos){
String temp="";
for(int i=pos;i<arr.length;++i){
temp+=arr[i];
}
return temp;
}
}
运行结果:
我的第一个JAVA程序感觉还好
相关文章推荐
- struts2对国际化的支持
- Java学习笔记--------Socket-------如何控制连接关闭
- java(样品集成框架spring、spring mvc、spring data jpa、hibernate)
- Java设计模式偷跑系列(十八)建模和责任链模式的实现
- java 学习笔记
- JAVA中CLASS.FORNAME的含义
- 关于synchronized具备原子性的问题
- springMVC的json交互
- Java中普通代码块,构造代码块,静态代码块区别及代码示例
- java 静态代码块详解
- java.lang.IllegalStateException解决办法
- SSH骨架Struts(1)——Struts执行过程
- Java反射机制之动态加载
- Java加密与解密的艺术-读书笔记3-4章
- 怎样在树莓派上的java代码中使用sigar库
- Java--异常
- java.lang.ClassNotFoundException: com.sun.mail.util.MessageRemovedIOException
- java中的加密算法
- struts2 & action&通配符
- 我的第一个Java程序O(∩_∩)O