- #刷题
CC150 1.4 把字符串中的空格替换为"%20"

9771
[br][/br][br][/br]public class Q1_4 {[br][/br][br][/br] public static String replacespaces(char str[],int length){[br][br][/br] int spacecount=0,newlength;[br][/br][br][/br] for(int i=0;i<length;i++){[br][/br][br][/br] if(str[i]==' '){[br][/br][br][/br] spacecount++;[br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] newlength=length+spacecount*2;[br][/br][br][/br] [br][/br][br][/br] str[newlength]='\0';[br][/br][br][/br] [br][/br][br][/br] for(int i=length-1;i>0;i--){[br][/br][br][/br] if(str[i]==' '){[br][/br][br][/br] str[newlength-1]='0';[br][/br][br][/br] str[newlength-2]='2';[br][/br][br][/br] str[newlength-3]='%';[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] else{[br][/br][br][/br] str[newlength-1]=str[i];[br][/br][br][/br] newlength=newlength-1;[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] }[br][/br][br][/br] return String.valueOf(str); [br][/br][br][/br] }[br][/br][br][/br] public static void main(String[] args){[br][br][/br] [br][/br][br][/br] char str[]=new char[100];[br][/br][br][/br] str[0]='a';[br][/br][br][/br] str[1]='b';[br][/br][br][/br] str[2]=' ';[br][/br][br][/br] str[3]='d';[br][/br][br][/br] [br][/br][br][/br] replacespaces(str,100);[br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] [br][/br][br][/br] }[br][/br][br][/br] [br][/br][br][/br]}[br][/br][br][/br]main函数是我自己写的,主要有一下疑问,望大牛指点:[br][/br][br][/br]1.第16行的str[newlength]='\0';作用是啥?[br][/br][br][/br]2.我这段代码在eclipse运行不了,我自己debug调了,实在解决不了,大牛能否指点一下[/i][/i][/i]
1条回复
热度排序