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)
array_original;没有初始化
OriginalSapceNum只有里面有初始化,但是它没有调用
空指针就是.前面的变量为null了,没看懂你的代码,哪个是主方法啊
自己debug一下哪行报错吧
空指针就是.前面的变量为null了,没看懂你的代码,哪个是主方法啊
自己debug一下哪行报错吧
static int i = 0, j = 0, k = 0, count = 0, length = 0;
static String str = "";
static char[] array_original = str.toCharArray();
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("please input a line string:");
try {
str = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
OriginalSapceNum();
ReplaceString(str);
}
public static int OriginalSapceNum() {
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;
}
}
}
能说下这个代码有啥用吗,能做什么业务啊