本帖最后由 michaelzzz 于 2014-5-10 17:17 编辑
public static void fangfa(int num,int yude,int yide)
{
if(num==0)
{
System.out.println(0);
return ;
}
char[] biao={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] arr=new char[32];
int pos =arr.length;
while(num!=0)
{
int temp=num & yude;
arr[--pos]=biao[temp];
num=num>>>yide;
}
for(int x=pos;x<arr.length;x++)
{
System.out.print(arr[x]);
}
}
这是毕向东java基础第四天的视频中的内容,图中红色部分,POS指针的初始化值为数组的长度,而在for循环中遍历数组时,角标x的初始化值也为POS,照理讲,角标的最大值应为arr.length-1,为什么运行时不报错呢,如果改为int POS=arr.length-1;反而会提示数组角标溢出,请问为什么? |
|