黑马程序员技术交流社区

标题: 关于角标越界 [打印本页]

作者: exist    时间: 2015-3-27 20:06
标题: 关于角标越界
  1. public static void toHex2(int num,int a,int i){
  2.                 if(num==0){
  3.                         System.out.print("0");
  4.                         return;
  5.                 }
  6.                 char[] arr = {'0','1','2','4','5','6','7','8','9','A','B','C','D','E','F'};
  7.                 char[]  arr2 = new char[8];
  8.                 int pos= 0;
  9.                 while(num!=0){
  10.                         int temp = num&i;
  11.                         arr2[pos++]=arr[temp];//毕老师的视频temp是和角标对上的但是我编辑的时候要temp-1角标才和数组对上,但是这样的话转二进制时就会角标越界。
  12.                         num = num>>>a;
  13.                 }
  14.                 for(int x=pos-1;x>=0;x--){
  15.                         System.out.print(arr2[x]);
  16.                 }
复制代码

作者: 43453186@qq.com    时间: 2015-3-27 21:27
求答案。。。
作者: 没劲睡觉    时间: 2015-3-28 21:25
char[] arr = {'0','1','2','4','5','6','7','8','9','A','B','C','D','E','F'};

里面少个'3'
作者: 暗羽部落    时间: 2015-3-28 21:47
好好分析啊~~今天学了api感觉很难~~
作者: jiandonn    时间: 2015-3-28 22:02
里面少个'3'
作者: exist    时间: 2015-3-29 14:25
没劲睡觉 发表于 2015-3-28 21:25
char[] arr = {'0','1','2','4','5','6','7','8','9','A','B','C','D','E','F'};

里面少个'3'

= =!是我粗心了!
作者: 隅青    时间: 2015-3-29 15:06
下次多注意





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2