java进制转化的问题,在线等

zgycsmb 2018-05-25 03:54:42
假设有:
36进制 0 到 9 分别用 '0' '9' 10 用 'A' 表示 ,11用 'B' ,以类推, 35用 'Z'
比如 十进制中 100 ,相当于36进制中的 2S
请用java完成 36进制和十进制的相互转换
//36进制转10进制,p代表36进制的字符串 需要返回出一个int十进制值
public int void a3(String p){
...
}


//10进制转36进制 i代表十进制值,p代表36进制字符串

public static void a10(int i,String p){

}

请完善上面二个方法,在线等
...全文
927 8 点赞 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zgycsmb 2018-05-26
5 6楼的可以,多谢
  • 打赏
  • 举报
回复
public static String f(int i) { char a[]=new char[100]; int temp=0; StringBuffer str=new StringBuffer(); while(i/36!=0) { temp=i%36; if(temp<=9) str.append((char)(temp+48)); else str.append((char)(temp+55)); i/=36; } if(i<=9) str.append((char)(i+48)); else str.append((char)(i+55)); i/=36; return str.reverse().toString(); }
  • 打赏
  • 举报
回复
public static int fun(String p) { char a[]=p.toCharArray(); int sum=0; for(int i=a.length-1;i>=0;i--) { if(a[i]>='0'&&a[i]<='9') sum+=(a[i]-48)*Math.pow(36,a.length-i-1); else sum+=(a[i]-55)*Math.pow(36, a.length-i-1); } return sum; }
  • 打赏
  • 举报
回复
llllyyyyhhhh1111 2018-05-25
其中的A-Z可以写个判断进行解析
  • 打赏
  • 举报
回复
llllyyyyhhhh1111 2018-05-25
public double a3(String p){ double sum = 0; int j = 0; char [] a = p.toCharArray(); p = p.trim(); for(int i = a.length; i < 0 ;i--){ sum = sum + Integer.valueOf(a[i])*Math.pow(36,j); } return sum; }
  • 打赏
  • 举报
回复
llllyyyyhhhh1111 2018-05-25
应该是把按权展开的过程写出来吧
  • 打赏
  • 举报
回复
zgycsmb 2018-05-25
多谢楼上的,只是题需要我们写转化过程,并按提供的方法名和参数,完善其方法内代码。
  • 打赏
  • 举报
回复
Braska 2018-05-25
Long.toString(10, 36) java有现成的啊
  • 打赏
  • 举报
回复
相关推荐
发帖
Java SE
加入

6.2w+

社区成员

Java 2 Standard Edition
申请成为版主
帖子事件
创建了帖子
2018-05-25 03:54
社区公告
暂无公告