读书人

为何会报空指针错误

发布时间: 2012-08-08 14:32:45 作者: rapoo

为何会报空指针异常?

Java code
import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class Test7 {    public static void main(String[] args){        BufferedReader bufr =                new BufferedReader(new InputStreamReader(System.in));        String line =null;        try {            while((line=bufr.readLine())!=null){                char[] buf =line.toCharArray();                for(int i=0;i<line.length();i++){                    if(!Character.isDigit(buf[i])){                        System.out.println("输入的不是数字!");                        break;                    }                }                int i=Integer.parseInt(line);                if(i>Integer.MAX_VALUE)                    System.out.println("输入的数字太大");                else                    toBin(i);            }        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }    }    public static void toBin(int num){        StringBuffer sb =new StringBuffer();        while(num>0){            sb.append(num%2);            num =num/2;        }        System.out.println(sb.reverse());    }}


[解决办法]
Java code
while((line=bufr.readLine())!=null){                char[] buf =line.toCharArray();                for(int i=0;i<line.length();i++){                    if(!Character.isDigit(buf[i])){                        System.out.println("输入的不是数字!");                        break;                    }                }                int i=Integer.parseInt(line);                if(i>Integer.MAX_VALUE)                    System.out.println("输入的数字太大");                else                    toBin(i);            } 

读书人网 >J2SE开发

热点推荐