接着前面的学习,继续学习String类里面的方法,本篇主要学习String类的替换方法和去除前后字符串空格方法,然后来做一个字符串反转输出的练习。字符串反转输出这个应该也是在面试编程题中经常被考察的一个题目。
1.替换方法
替换方法主要有字符替换(String replace(char old, char new))和字符串替换(Stringreplace(String old, String new))
package string;
public class Dem04_String {
public static void main(String[] args) {
Stringst = "Anthony";
// 1.字符替换
Strings1 = st.replace('o', 'a');
Strings2 = st.replace('z', 'y'); // 如果不存在字符替换,保留原字符
System.out.println(s1);
System.out.println(s2);
//2.字符串替换
Strings3 = st.replace("h", "北京");
System.out.println(s3);
}
}
输出结果:
Anthany
Anthony
Ant北京ony
2.去除空格
去除字符串空格,有时候确实很好用。例如在用户登录过程中,用户输入用户名和密码很容易在末尾产生一个空格,但是用户看不出来这个空格。开发拿到这样的字符串就要帮用户去除前后空格才能存储进入数据库。另外一个用途举例,就是在读取配置文件,特别是kye = value 这种配置文件内容,读取出来的value可能前后带空格,如果不去除空格,可能引起想不到的错误。
package string;
public class Dem04_String {
public static void main(String[] args) {
Stringst = " Anth ony "; // 前后是有空格的
Strings1 = st.trim();
System.out.println(s1);
}
}
运行结果可以看出,能够去除首尾的空格,中间空格不会去除。
3.字符串反转
需求:写一个方法,输入一个字符串,然后反转输出。
分析:
1.题目说明不能写死字符串,而且需要用户自己输入,所以我们需要利用键盘录入,需要使用Scanner类
2.键盘录入字符用一个字符串保存
3.把字符串转换成字符数组
4.从后往前遍历字符数组,然后打印新字符串
具体代码实现
package string;
import java.util.Scanner;
public class Dem04_String {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
String line = sc.nextLine();
//把字符串转换成字符数组
char[] arr = line.toCharArray();
//定义一个空字符串,方便下面拼接使用
String s ="";
// for循环倒着遍历
for (int i = arr.length-1; i >= 0; i--) {
s = s + arr[i]; //从后往前倒着拼接
}
System.out.println(s);
}
}
注意体会分析过程,分析过程就是解题的思路。很多时候,我们看到一个问题,由于不会分析不会化解成自己会的知识点去写代码,就会感觉难以下笔写代码的感觉。