[基础]数组里的东东如何拷到变量里 String s=new String(buf,0,3);int i=Integer.parseInt(s); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 buf[0]-buf[3]存的是int啊,不是string,我试了,这样程序执行有问题。譬如这个int是100,new String(buf,0,3)返回的string是个乱码,而不是字符串"100",所以parseInt执行也就出错了:(而且java好奇怪,出错也不会吭声,就是不执行后面的语句了,程序运行起来好像正常,是不是要捕捉异常才行? 你自己去算一下偏移就可以啦,就是你自己将buf[0]-buf[3]凑成数字你可能用DataInputStream也可以(这个我没有测试过)int num = buf[0] << 24 + buf[1] << 16 + buf[2] << 8 + buf[3] 另外,Java的出错处理机制是比较好的我相信是你的代码直接就放弃处理错误了,Integer.parseInt(s);需要抛出NumberFormatException在程序中,你需要catchtry { num = Integer.parseInt(s);}catch(NumberFormatException ex) { //这里你要加入你自己的处理} 很菜的方法(效率低):String s = Byte.toString(buf[0]) + Byte.toString(buf[1]) + ... + Byte.toString(buf[n]); //(如果太多的话用StringBuffer)int i = Integer.parseInt(s); 谢谢各位,我心里有底了,我研究一下DataInputStream看看。 求高手 谢了 string int char转换问题。 问个 struts2 session的问题 有关Class类加载的问题。。。 用fileupload将文件导入数据库,有些文件不能上传 研究搜索引擎的高手和lucene的高手 请进 立刻给分 SQLSERVER数据库将查询所得的结果插入另一表的问题?? 在社区中都搜索不到的乱码问题?高手指点 菜鸟级问题:怎样把一个字符串变量转换为一个整形变量,如果不能转换需要抛出异常? 高分求救,如何做个招聘网站 如何在JTable的单元格内部显示一张图片呢? JBuilder调试的小问题
譬如这个int是100,new String(buf,0,3)返回的string是个乱码,而不是字符串"100",
所以parseInt执行也就出错了:(
而且java好奇怪,出错也不会吭声,就是不执行后面的语句了,程序运行起来好像正常,
是不是要捕捉异常才行?
你可能用DataInputStream也可以(这个我没有测试过)int num = buf[0] << 24 + buf[1] << 16 + buf[2] << 8 + buf[3]
我相信是你的代码直接就放弃处理错误了,Integer.parseInt(s);需要抛出NumberFormatException在程序中,你需要catch
try {
num = Integer.parseInt(s);
}catch(NumberFormatException ex) {
//这里你要加入你自己的处理
}
String s = Byte.toString(buf[0]) + Byte.toString(buf[1]) + ... + Byte.toString(buf[n]); //(如果太多的话用StringBuffer)
int i = Integer.parseInt(s);