新手!!!java程序下标越界怎样处理?
publicclassTest{publicstaticvoidmain(String[]args){intnum=60;toHex(num);}publicstatic...
public class Test {
public static void main(String[] args) {
int num=60;
toHex(num);
}
public static void toHex(int num)
{
char[] chs=new char[8];
int pos=chs.length-1;
for(int x=0;x<8;x++)
{
int n=num & 15;
if(n>9)
chs[pos]=((char)(n-10+'A'));
else
chs[pos]=((char)(n+'0'));
pos--;
num=num>>>4;
}
for(int x=7;x<chs.length;x--)
{
System.out.print(chs[x]+"");
}
}
}
这是十进制转十六进制代码,错误提示 下标越界,怎样解决? 展开
public static void main(String[] args) {
int num=60;
toHex(num);
}
public static void toHex(int num)
{
char[] chs=new char[8];
int pos=chs.length-1;
for(int x=0;x<8;x++)
{
int n=num & 15;
if(n>9)
chs[pos]=((char)(n-10+'A'));
else
chs[pos]=((char)(n+'0'));
pos--;
num=num>>>4;
}
for(int x=7;x<chs.length;x--)
{
System.out.print(chs[x]+"");
}
}
}
这是十进制转十六进制代码,错误提示 下标越界,怎样解决? 展开
3个回答
展开全部
你的程序我帮你改完了,你看看吧.
完整的程序如下:
public class Test {
public static void main(String[] args) {
int num=60;
toHex(num);
}
public static void toHex(int num)
{
char[] chs=new char[8];
int pos=0;
for(int x=0;x<8;x++)
{
int n=num % 16;
if(n>9)
chs[pos]=((char)(n-10+'A'));
else
chs[pos]=((char)(n+'0'));
pos++;
num=num>>>4;
}
for(int x=7;x>=0;x--)
{
System.out.print(chs[x]+"");
}
}
}
运行结果:
0000003C
完整的程序如下:
public class Test {
public static void main(String[] args) {
int num=60;
toHex(num);
}
public static void toHex(int num)
{
char[] chs=new char[8];
int pos=0;
for(int x=0;x<8;x++)
{
int n=num % 16;
if(n>9)
chs[pos]=((char)(n-10+'A'));
else
chs[pos]=((char)(n+'0'));
pos++;
num=num>>>4;
}
for(int x=7;x>=0;x--)
{
System.out.print(chs[x]+"");
}
}
}
运行结果:
0000003C
展开全部
for(int x=7;x<chs.length;x--)
{
System.out.print(chs[x]+"");
}
问题在这里,X=7的话,chs.lenth=8,X--,所以,这个循环是不会退出的,x永远小与8,
{
System.out.print(chs[x]+"");
}
问题在这里,X=7的话,chs.lenth=8,X--,所以,这个循环是不会退出的,x永远小与8,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最后的for循环写错了
,chs.length=8;是系循环,所以下标会越界
for(int x=7;x>=0;x--)
{
System.out.print(chs[x]+"");
}
,chs.length=8;是系循环,所以下标会越界
for(int x=7;x>=0;x--)
{
System.out.print(chs[x]+"");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询