首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

程序运行时总是显示有错误,求修改

2013-11-26 
程序运行时总是显示有异常,求修改import java.io.*class Demo065{public static void main(String[] args

程序运行时总是显示有异常,求修改
import java.io.*;
class Demo065
{
public static void main(String[] args)throws IOException
{
zhuanhuan c=new zhuanhuan();
c.zhch();
}
}
class zhuanhuan
{
public  void zhch()throws IOException//从键盘输入数字,先转换成16进制,然后转换成2进制
{
    System.out.println("Please input the hex number");
    InputStream in=System.in;
    int x=in.read();
StringBuilder sb=new StringBuilder();
while(x!=0)//转换成十六进制
{
int temp=x%16;
x=x/16;
if(temp>9)
{
sb.append((char)((temp-10)+'a'));
}
else sb.append(temp);
}
int i=Integer.parseInt(sb.toString(),2);//调用系统方法转换成2进制
System.out.println(i);
}

}

我知道你们得意思,我也那样试过,不过我想把这题改成正确的,暂且不考虑int i=Integer.parseInt(sb.toString(),2);//调用系统方法转换成2进制-------这句备注有误。运行时错误提示是Exception in thread "main" java.lang.NumberFormatException: For input string: "5
3",其中53与键盘输入的数据有关,不是固定的。改算法!
我想知道哪里错了呀,只要能运行一个特例都行,只想明白错在哪里,结果不重要
我对代码进行调试:
程序运行时总是显示有错误,求修改
然后进入:
程序运行时总是显示有错误,求修改
查找454行jdk中的实现:
程序运行时总是显示有错误,求修改
可以发现16进制中X是基数不在 MIN_RADIX <= radix <= MAX_RADIX 范围之内,因此返回-1,接着跟着程序就抛出相干异常!程序运行时总是显示有错误,求修改

热点排行