java中进制转换怎么学_JAVA 学习 进制转换

写一个函数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

temp+=arr[i];

}

return temp;

}

}

运行结果:

0818b9ca8b590ca3270a3433284dd417.png

我的第一个JAVA程序感觉还好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值