您的位置:首页 > 编程语言 > Java开发

java 基础数据遍历(1)----将一个字符串中的空格替换成“%20”

2016-04-12 14:51 585 查看
题目要求:请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。

解题思路:

1.确认使用for循环结构。

2.方法一:直接遍历string中所有字符,将空格替换为“%”输出结果;

方法二:将string转化为数组,然后进行遍历,将空格替换为“%20”,输出结果;

具体代码:

public static void main(String[] args) {
Scanner scanner =new Scanner(System.in);
System.out.println("请输入字符串");
String Str=scanner.nextLine();

//1.遍历str所有字符
String newStr="";
for (int i = 0; i < Str.length(); i++) {
if (Str.charAt(i)==' ') {
newStr=newStr+"%20";
}
else newStr=newStr+Str.charAt(i);
}
System.out.println(newStr);

//2.将str转化为数组然后遍历,原理同1一致
int numSpace=0;
char[] arrayStr=Str.toCharArray();
for (int i = 0; i < arrayStr.length; i++) {
if (arrayStr[i]==' ') {
numSpace++;
}
}
char[] newArrayStr=new char[arrayStr.length+2*numSpace];//确定替换空格后新数组大小
int n=0;
for (int i = 0; i < arrayStr.length; i++) {
if (arrayStr[i]==' ') {
newArrayStr
='%';
n++;
newArrayStr
='2';
n++;
newArrayStr
='0';
}
else newArrayStr
=arrayStr[i];
n++;
}
System.out.println(String.valueOf(newArrayStr));
}

}


实际结果


补充:当然最简单的可以使用库函数ReplaceAll解决本题。

public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
System.out.println("输入字符串: ");
String str =scanner.nextLine(); //获取string.
String newstr =str.replace(" ", "%20");//使用库函数直接替换空格为字符串“%20”
System.out.println(newstr);
}

}


实际

结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: