精华内容
下载资源
问答
  • #### 代码如下```javapackage pers.mine.scratchpad.other;.../*** java 反转字符串的几种写法* @author Mine* @date 2019/06/24 01:03:06*/public class StringReverseTest {String s = "ABCDE";/*** StringBu...

    #### 代码如下

    ```java

    package pers.mine.scratchpad.other;

    import org.junit.Test;

    /**

    * java 反转字符串的几种写法

    * @author Mine

    * @date 2019/06/24 01:03:06

    */

    public class StringReverseTest {

    String s = "ABCDE";

    /**

    * StringBuffer

    */

    @Test

    public void testA() {

    System.out.println(new StringBuffer(s).reverse());

    }

    /**

    * StringBuilder

    */

    @Test

    public void testB() {

    System.out.println(new StringBuilder(s).reverse());

    }

    /**

    * toCharArray()

    */

    @Test

    public void testC() {

    char[] chars = s.toCharArray();

    for (int i = 0; i < chars.length; i++) {

    System.out.print(chars[chars.length-1-i]);

    }

    System.out.println();

    }

    /**

    * charAt()

    */

    @Test

    public void testD() {

    int length = s.length();

    for (int i = 0; i < length; i++) {

    System.out.print(s.charAt(length-1-i));

    }

    System.out.println();

    }

    }

    ```

    #### 代码地址

    [GitHub](https://github.com/yebukong/scratchpad/blob/master/src/test/java/pers/mine/scratchpad/other/StringReverseTest.java "GitHub")

    [Gitee](https://gitee.com/yebukong/scratchpad/blob/22ef9de9dac450a78ece0bdd3926e85e137119e3/src/test/java/pers/mine/scratchpad/other/StringReverseTest.java "Gitee")

    ------------

    > 本文由 [叶不空](https://yebukong.com "叶不空") 创作,采用 [知识共享署名 4.0 国际许可协议](https://creativecommons.org/licenses/by/4.0/ "知识共享署名 4.0 国际许可协议")进行许可,转载请附上链接!

    > 本文链接: [https://yebukong.com/article/1142846108897165313.html](https://yebukong.com/article/1142846108897165313.html "java中字符串反转的几种写法")

    展开全文
  • } //方法3 把字符串转换成字符数组倒叙拼接然后返回值 public static String reverse3(String s) { char[] array = s.toCharArray(); String reverse = ""; for(int i = array.length - 1; i >= 0; i--) reverse +=...

    /方法1 递归方法

    public static String reverse1(String s) {

    int length = s.length();

    if(length <= 1){

    return s;

    }

    String left = s.substring(0, length / 2);

    String right = s.substring(length / 2, length);

    return reverse1(right) + reverse1(left);

    }

    //方法2 通过 charAt(int index)返回char值进行字符串拼接

    public static String reverse2(String s) {

    int length = s.length();

    String reverse = "";

    for(int i = 0; i < length; i++)

    reverse = s.charAt(i) + reverse;

    return reverse;

    }

    //方法3 把字符串转换成字符数组倒叙拼接然后返回值

    public static String reverse3(String s) {

    char[] array = s.toCharArray();

    String reverse = "";

    for(int i = array.length - 1; i >= 0; i--)

    reverse += array[i];

    return reverse;

    }

    //方法4 调用StringBuffer中的reverse方法

    public static String reverse4(String s) {

    return new StringBuffer(s).reverse().toString();

    }

    //方法5 把字符串转换成字符数组首位对调位置

    public static String reverse5(String orig) {

    char[] s = orig.toCharArray();

    intn = s.length - 1;

    int halfLength = n / 2;

    for(int i = 0; i <= halfLength; i++) {

    chartemp = s[i];

    s[i] = s[n - i];

    s[n - i] = temp;

    }

    return new String(s);

    }

    //方法6

    public static String reverse6(String s) {

    char[] str = s.toCharArray();

    int begin = 0;

    int end = s.length() - 1;

    while(begin < end) {

    str[begin] = (char) (str[begin] ^ str[end]);

    str[end] = (char) (str[begin] ^ str[end]);

    str[begin] = (char) (str[end] ^ str[begin]);

    begin++;

    end--; }

    return new String(str);

    }

    //方法7

    import java.util.Stack;

    public class StringReverse {

    public static String reverse7(String s) {

    char[] str = s.toCharArray();

    Stack stack = new Stack();

    for (int i = 0; i < str.length; i++)

    stack.push(str[i]);

    String reversed = "";

    for (int i = 0; i < str.length; i++)

    reversed += stack.pop();

    return reversed;

    }

    }

    展开全文
  • 如 "abcdt" 反转之后是 "tdcba"思路1: 运用递归的方法进行反转假设反转方法为 reverseString(String str)1)当字符串为空或者只有一个字符时,返回原字符2)当字符串有两个以上(长度为len)的字符时,反转后的字符串为...

    如 "abcdt" 反转之后是 "tdcba"

    思路1: 运用递归的方法进行反转

    假设反转方法为 reverseString(String str)

    1)当字符串为空或者只有一个字符时,返回原字符

    2)当字符串有两个以上(长度为len)的字符时,反转后的字符串为 第二个字符开始的子串的反转结果+第一个字符, 即 reverseString(str.subString(1))+str.charAt(0);

    代码实现如下:

    public String reverseStringRecur(String str) {

    if ((str == null) || str.length() <2) return str;

    return  reverseString(str.subString(1))+str.charAt(0);

    }

    思路2: 非递归的方法当字符串长度大于1时,把第一个字符和最后一个字符交换,把第二个字符和倒数第二个字符交换

    需要设置两个标识符:begin, end。begin指向第一个字符,end指向最后一个字符

    当begin

    代码实现如下:

    public static String reverseString(String str) {

    if ((str == null) || str.length() <2) return str;

    char cArray[] = str.toCharArray();

    int begin = 0;

    int end = cArray.length-1;

    while(begin

    char temp=cArray[begin];

    cArray[begin] = cArray[end];

    cArray[end] = temp;

    begin ++;

    end --;

    }

    return new String(cArray);

    }

    展开全文
  • JAVA字符串反转

    2020-05-24 16:18:25
    JAVA字符串反转 分析一下JAVA字符串反转应该怎么解决? JAVA字符串反转目的就是倒序输出,怎样倒序呢? 1、通过调用现有倒序方法 2、把字符串拆解,然后倒序输出 import lombok.extern.slf4j.Slf4j; import org....

    JAVA中字符串反转

    分析一下JAVA字符串反转应该怎么解决?
    JAVA字符串反转目的就是倒序输出,怎样倒序呢?
    1、通过调用现有倒序方法
    2、把字符串拆解,然后倒序输出

    import lombok.extern.slf4j.Slf4j;
    import org.junit.Test;
    import org.junit.runner.RunWith;
    import org.springframework.boot.test.context.SpringBootTest;
    import org.springframework.test.context.junit4.SpringRunner;
    
    @SpringBootTest
    @RunWith(SpringRunner.class)
    @Slf4j
    public class StringReverse {
    
        static String str = "abcd1234";
    
        @Test
        public void test1(){
            //StringBuffer/StringBuilder
            String newStr = new StringBuffer(str).reverse().toString();
            log.info("newStr = {}", newStr);
        }
        
        @Test
        public void test2(){
            String newStr = "";
            String[] strs = str.split("");
            for (String s1 : strs
                 ) {
                newStr = s1 + newStr;
            }
            log.info("newStr = {}", newStr);
        }
    
        @Test
        public void test3(){
            String newStr = "";
            for (int i = 0; i < str.length(); i++) {
                newStr = str.charAt(i) + newStr;
            }
    
            log.info("newStr = {}", newStr);
        }
    
        @Test
        public void test4(){
            char[] chars = str.toCharArray();
            String newStr = "";
            for (char c : chars) {
                newStr = c + newStr;
            }
    
            log.info("newStr = {}", newStr);
        }
    

    说明:test1()方法是通过调用Java类内部实现的反转方法
    test2/3/4()方法是通过字符串拆解,倒序输出

    展开全文
  • Java 字符串反转问题:给一个字符串,比如 “I love china”, 把字符反转后变成 “china love I”思路:先把字符串从第一个字符与最后一个字符对换,第二个字符和倒数第二个字符对换,这样,我们就把每一个单词位置...
  • 本文实例为大家分享了java实现字符串反转的具体代码,供大家参考,具体内容如下1.需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果例如,键盘录入abc,输出结果cba2.思路:1...
  • 本文实例为大家分享了java实现字符串反转的具体代码,供大家参考,具体内容如下1.需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果例如,键盘录入abc,输出结果cba2.思路:1...
  • Java 字符串反转问题:给一个字符串,比如 “I love china”, 把字符反转后变成 “china love I”思路:先把字符串从第一个字符与最后一个字符对换,第二个字符和倒数第二个字符对换,这样,我们就把每一个单词位置...
  • java实现字符串反转

    2021-04-02 21:14:28
    当是字符串的时候,可以把字符串转换成字符数组方便实现 public static void main(String[] args) { String str = "a bcdefg"; text(str); } public static void text(String str){ //toCharArray()方法把字符...
  • Java实现字符串反转

    2020-09-18 16:42:26
    总结一道 Java 面试常见编程题:将 'abc123' 字符串反转你能想到的方法都写下来。  1. 利用 StringBuffer 或 StringBuilder 的 reverse 成员方法: // StringBuffer public static String reverse1(String ...
  • 在这篇文章中,我们会...例如,把字符串“javaguides” 反转为 “sediugavaj”。1. 使用 + (String连接) 操作符package net.javaguides.corejava.string;/**** @author Ramesh Fadatare**/public class ReverseWith...
  • Java字符串反转

    2021-03-08 12:03:28
    //字符串反转 //思路:将字符串转换为字符数组,再把字符数组转换为包装类数组,再把包装类数组转换为集合,利用集合方法反转字符串,再转为数组 public String reverse(String s){ char[] chars = s.toCharArray...
  • Java快速把字符串反转 使用StringBuilder(非线程安全)类的reverse()方法 //StringBuilder 类方式 StringBuilder str1 = new StringBuilder(); str1.append("abcd"); StringBuilder str2 = new StringBuilder(); ...
  • JAVA 字符串反转

    2021-03-01 22:05:53
    字符串反转 思路: 先对应的字符串 转换为 字符数组,遍历对应的字符数组,从后往前抓取对应的字符,放入到空的字符串变量。 public class Test01 { public static void main(String[] args) { String str = ...
  • Java 字符串拼接package com.itheima_03;/*需求:定义一个方法, int 数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。例如,数组为 int[] arr = {1,2,3}; ,执行方法后的输出...
  • -----------android培训、java培训、java学习型技术博客、期待与您交流!------------ 问题: 给一个字符串,比如 “I love china”, 把字符反转后变成 “china love I” 思路: ...先把字符串从第...
  • java字符串反转

    2021-03-05 10:32:58
    把字符串转为数组,然后反着输出 package com.qgm3.java; import java.util.Scanner; public class ReverseTest { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str...
  • java案例——字符串反转 1.需求: 定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果 例如,键盘录入abc,输出结果cba 2.思路: 1.键盘录入一个字符串,用Scanner实现 2.定义一个...
  • 把字符串从第一个字符与最后一个字符对换,第二个字符和倒数第二个字符对换,这样,我们就把每一个单词位置互换了。但是我们要求单词里面字符的顺序是不能变的,所以,我们要把每一个单词里面的字符从头到尾对换...
  • 把字符串从第一个字符与最后一个字符对换,第二个字符和倒数第二个字符对换,这样,我们就把每一个单词位置互换了。但是我们要求单词里面字符的顺序是不能变的,所以,我们要把每一个单词里面的字符从头到尾对换...
  • Java如何将字符串反转

    千次阅读 2019-05-09 00:05:11
    总结一道 Java 面试常见编程题:将 'abc123' 字符串反转你能想到的方法都写下来。  1. 利用 StringBuffer 或 StringBuilder 的 reverse 成员方法: // StringBuffer public static String reverse1(String ...
  • 把字符串反转

    2016-07-31 10:53:19
    import java.util.Scanner;... * 把字符串反转  */ public class StringBufferTest3 { public static void main(String[] args) { // 键盘录入数据 Scanner sc = new Scanner(System.in)
  • 今天读了《高效能程序员的修炼》第四章,发现自己好烂,如果按照作者的看法,我是无论如何都入不了他的法眼,于是乎,我告诉自己,从零开始,作者提出的面试题按照Java来写一遍,无论是参考别人...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 252
精华内容 100
关键字:

java把字符串反转

java 订阅