- package com.itheima;
- import java.util.Scanner;
- public class Test5 {
- /**
- * 5. 将字符串中进行反转。abcde --> edcba
- * @author lzz
- * @param args
- */
- public static void main(String[] args) {
- String str = null;
- // 从键盘录入一个字符串
- Scanner sc = new Scanner(System.in);
- System.out.print("请输入一个字符串:");
- str = sc.nextLine();
- System.out.println("反转方式一: " + stringReverse1(str));
- System.out.println("反转方式二: " + stringReverse2(str));
- System.out.println("反转方式三: " + stringReverse3(str));
- System.out.println("反转方式四: " + stringReverse4(str));
- }
- //把字符串置换成字符数组,把每个字符添加到StringBuffer容器中再反转
- public static String stringReverse4(String str) {
- // 转换成字符数组
- char[] chs = str.toCharArray();
- // 把字符数组中的每个字符添加到StringBuffer容器中
- StringBuffer sb = new StringBuffer();
- for (int i = 0; i < chs.length; i++) {
- sb.append(chs[i]);
- }
- // 反转后输出
- return sb.reverse().toString();
- }
- // 使用StringBuilder实现字符串反转
- public static String stringReverse3(String str) {
- StringBuilder sb = new StringBuilder(str);
- return sb.reverse().toString();
- }
- // 把字符串转变成字符数组再倒序遍历输出
- public static String stringReverse2(String str) {
- // 转换成字符数组
- char[] chs = str.toCharArray();
- String str2 = "";
- // 倒序遍历并实现字符串拼接
- for (int i = chs.length - 1; i >= 0; i--) {
- str2 += chs[i];
- }
- return str2;
- }
- // 把字符串转换成字符数组并从头尾依次实现位置置换
- public static String stringReverse1(String str) {
- // 转换成字符数组
- char[] chs = str.toCharArray();
- // 实现头尾位置依次置换
- for (int i = 0, j = chs.length - 1; i < (chs.length >> 1); i++, j--) {
- // 交换两个元素的位置
- char temp = chs[i];
- chs[i] = chs[j];
- chs[j] = temp;
- }
- return new String(chs);
- }
- }
复制代码 这个题是本人黑马入学考试一道比较简单的考题,是对字符串中各个元素的反转,你可以参考一下
同时,如果是数组中元素的反转也是类似的,希望对你有收获
|
|