qqjudith 2015-09-15 08:38 采纳率: 62.5%
浏览 2585

将输入的字符串中空格替换为%20后在输出,java中空指针错误。。。。

public class ReaplaceSpace {
static int i, j, k, count, length;
static String str;
static char[] array_original;

public static void main(String[]args){
    BufferedReader br = new BufferedReader(
            new InputStreamReader(System.in));
    str = null;
    System.out.println("please input a line string:");
    try {
        str = br.readLine();
    } catch (IOException e) {
        e.printStackTrace();
    }
    ReplaceString(str);
}

public static  int OriginalSapceNum() {
    char[] array_original = str.toCharArray();
    length = array_original.length;
    for(i = 0; i <= length;i++){
        if(array_original[i] == ' '){
            count++;
        }
    }
    return count;
}

public static String  ReplaceString(String str){
    String tempString;
    if(str == null || str.length() <= 0){
        return null;
    }else{
        int count_replace= length + count*2;
        char[] array_replace = new char[count_replace];
        for(j = 0; j <= length; j++){
            if((array_original[j] != ' ') && (k <= array_replace.length)){
                array_replace[k] = array_original[j];
                k++;
            }else if((array_original[j] == ' ') && (k <= array_replace.length)){
                array_replace[k] = '%';
                array_replace[k+1] = '2';
                array_replace[k+2] ='0';
                k = k+3;
            }
        }
        System.out.println(array_replace.toString());
        tempString = array_replace.toString();
        return tempString;
    }
}



错误:Exception in thread "main" java.lang.NullPointerException
at ReaplaceSpace.ReplaceString(ReaplaceSpace.java:46)
at ReaplaceSpace.main(ReaplaceSpace.java:24)
  • 写回答

4条回答 默认 最新

  • threenewbee 2015-09-15 08:46
    关注

    array_original;没有初始化
    OriginalSapceNum只有里面有初始化,但是它没有调用

    评论

报告相同问题?