2018-11-13
问题描述:
输入字符串,用%20代替空格并返回字符串
思路:
1.使用字符串的replaceAll()方法,达到物尽其用的目的;
2.自己编写方法,实现该功能
思路1的代码:
1 package zhangchaolun.test;
2 import java.util.Scanner; 3 import java.util.List;
4 public class test1 { 5 public static void main(String[] args) { 6 Scanner sc=new Scanner(System.in ); 7 System.out.println("请输入一个字符串:"); 8 String s=sc.nextLine(); 9 String s2= s.replaceAll("\\s" , "%20");//"\s"是空格,再加斜杠为转义 10 System.out.println(s2); 11 } 12 }
思路2的代码:
package zhangchaolun.test; import java.util.Scanner; import java.util.List; public class test1 { public static void main(String[] args) { Scanner sc=new Scanner(System.in ); System.out.println("请输入一个字符串:"); String s=sc.nextLine(); //录入字符串 StringBuffer sb=new StringBuffer();//利用字符缓冲区可变的特性作中间桥梁 for(int i=0;i<s.length();i++) { //遍历字符串,判断每次拿到的字符,如果为空格则存"%20"入字符缓冲区,否则将拿到的字符存入字符缓冲区 if(s.charAt(i)!=' ') { sb.append(s.charAt(i)); }else { sb.append("%20"); } } String s2=sb.toString(); //将StringBuffer对象转为字符串对象 System.out.println(s2); } }
总结:
如果直接用replaceAll()就方便多了,但还是敲了自己的实现方式,蠢蠢滴!!!