黑马程序员技术交流社区

标题: 求助帮忙看一下程序为什么运行不出来啊 [打印本页]

作者: 马东华    时间: 2012-4-21 17:35
标题: 求助帮忙看一下程序为什么运行不出来啊
import java.io.BufferedInputStream;
import java.io.IOException;
import java.io.InputStream;
public class ThirdPro {
/*
  *   编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,
  *   然后打印出这个十进制整数对应的二进制形式.
  *
  */
public static void main(String[] args) throws IOException{
  //定义输入流读取键盘输入
  BufferedInputStream in=new BufferedInputStream(System.in);
  //定义一个字节数组,一般定义数组大小为1024个,可以直接将数据读取出
  byte[] buf=new byte[1024];
  int len=0;
  
   if((len=in.read(buf))!=-1)
   {
    //将读取的数据转换成十进制数据。
    int dec=Integer.parseInt(new String(buf,0,len));//这一步出现NumberFormatException,为什么呢?
   
    //将得到的十进制转换成二进制
    //用这个十进制
    StringBuilder sb=new StringBuilder();
    int div=0;
    while((div=dec/2)!=0){
     sb.append(dec%2);
     dec=div;
    }
    StringBuilder sbRev=sb.reverse();
    System.out.println(sbRev.toString());
   
   }
}
}



作者: 杨华威    时间: 2012-4-21 18:36
parseInt
public static int parseInt(String s)
                    throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。

参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。

作者: 马东华    时间: 2012-4-21 21:28
杨华威 发表于 2012-4-21 18:36
parseInt
public static int parseInt(String s)
                    throws NumberFormatException将字符 ...

那怎么把给定的字符串转换成十进制呢?
作者: 李蛟龙    时间: 2012-4-22 00:29
BufferedInputStream in=new BufferedInputStream(System.in);
??




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