精华内容
下载资源
问答
  • 在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串。例如,把字符串“javaguides” 反转为 “sediugavaj”。1. 使用 + (String连接) 操作符package net.javaguides.corejava.string;...

    在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串。例如,把字符串“javaguides” 反转为 “sediugavaj”。

    1. 使用 + (String连接) 操作符

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseWithStringConcat {

    public static void main(String[] args) {

    ReverseWithStringConcat concat = new ReverseWithStringConcat();

    concat.reverseWithStringConcat("javaguides");

    }

    private String reverseWithStringConcat(String input) {

    String output = new String();

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

    output += (input.charAt(i));

    }

    display(input, output);

    return output;

    }

    private void display(String input, String output) {

    System.out.println(" input string :: " + input);

    System.out.println(" output string :: " + output);

    }

    }

    输出:

    input string :: javaguides

    output string :: sediugavaj

    2. 使用 StringBuilder

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseWithStringBuilderBuiltinMethod {

    public static void main(String[] args) {

    ReverseWithStringBuilderBuiltinMethod builtinMethod = new ReverseWithStringBuilderBuiltinMethod();

    builtinMethod.reverseWithStringBuilderBuiltinMethod("javaguides");

    }

    public String reverseWithStringBuilderBuiltinMethod(String string) {

    final StringBuilder builder = new StringBuilder(string);

    display(string, builder.reverse().toString());

    return builder.reverse().toString();

    }

    private void display(String input, String output) {

    System.out.println(" input string :: " + input);

    System.out.println(" output string :: " + output);

    }

    }

    输出:

    input string :: javaguides

    output string :: sediugavaj

    3. 使用 String charAt 方法

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseWithStringChatAt{

    public static void main(String[] args) {

    ReverseWithStringChatAt reverseWithStringBuilder = new ReverseWithStringChatAt();

    reverseWithStringBuilder.reverseWithStringBuilder("javaguides");

    }

    public String reverseWithStringChatAt(String string) {

    final StringBuilder builder = new StringBuilder();

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

    builder.append(string.charAt(i));

    }

    display(string, builder.toString());

    return builder.toString();

    }

    private void display(String input, String output) {

    System.out.println(" input string :: " + input);

    System.out.println(" output string :: " + output);

    }

    }

    输出:

    input string :: javaguides

    output string :: sediugavaj

    4. 通过交换字符反转

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseStringWithSwaps {

    public static void main(String[] args) {

    ReverseStringWithSwaps stringWithSwaps = new ReverseStringWithSwaps();

    stringWithSwaps.reverseWithSwaps("javaguides");

    }

    public String reverseWithSwaps(String string) {

    final char[] array = string.toCharArray();

    final int length = array.length - 1;

    final int half = (int) Math.floor(array.length / 2);

    char c;

    for (int i = length; i >= half; i--) {

    c = array[length - i];

    array[length - i] = array[i];

    array[i] = c;

    }

    display(string, String.valueOf(array));

    return String.valueOf(array);

    }

    private void display(String input, String output) {

    System.out.println(" input string :: " + input);

    System.out.println(" output string :: " + output);

    }

    }

    输出:

    input string :: javaguides

    output string :: sediugavaj

    5. 使用 XOR(^) 操作符反转

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseStringWithXOR {

    public static void main(String[] args) {

    ReverseStringWithXOR stringWithXOR = new ReverseStringWithXOR();

    stringWithXOR.reverseWithXOR("javaguides");

    }

    public String reverseWithXOR(String string) {

    final char[] array = string.toCharArray();

    final int length = array.length;

    final int half = (int) Math.floor(array.length / 2);

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

    array[i] ^= array[length - i - 1];

    array[length - i - 1] ^= array[i];

    array[i] ^= array[length - i - 1];

    }

    display(string, String.valueOf(array));

    return String.valueOf(array);

    }

    private void display(String input, String output) {

    System.out.println(" input string :: " + input);

    System.out.println(" output string :: " + output);

    }

    }

    输出:

    input string :: javaguides

    output string :: sediugavaj

    6. 使用堆栈

    package net.javaguides.corejava.string;

    import java.util.Stack;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseStringUsingStack {

    // Function to reverse a string in Java using a stack and character array

    public static String reverse(String str) {

    // base case: if string is null or empty

    if (str == null || str.equals(""))

    return str;

    // create an empty stack of characters

    Stack < Character > stack = new Stack < Character > ();

    // push every character of the given string into the stack

    char[] ch = str.toCharArray();

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

    stack.push(ch[i]);

    // start from index 0

    int k = 0;

    // pop characters from the stack until it is empty

    while (!stack.isEmpty()) {

    // assign each popped character back to the character array

    ch[k++] = stack.pop();

    }

    // convert the character array into string and return it

    return String.copyValueOf(ch);

    }

    public static void main(String[] args) {

    String str = "javaguides";

    str = reverse(str); // string is immutable

    System.out.println("Reverse of the given string is : " + str);

    }

    }

    输出:

    Reverse of the given string is : sediugavaj

    7. 使用 Collections reverse() 方法

    package net.javaguides.corejava.string;

    import java.util.ArrayList;

    import java.util.Collections;

    import java.util.List;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseStringUsingCollectionsReverseMethod {

    // Function to reverse a string in Java using Collections.reverse()

    public static String reverse(String str) {

    // base case: if string is null or empty

    if (str == null || str.equals(""))

    return str;

    // create an empty list of characters

    List < Character > list = new ArrayList < Character > ();

    // push every character of the given string into it

    for (char c: str.toCharArray())

    list.add(c);

    // reverse list using java.util.Collections reverse()

    Collections.reverse(list);

    // covert ArrayList into String using StringBuilder and return it

    StringBuilder builder = new StringBuilder(list.size());

    for (Character c: list)

    builder.append(c);

    return builder.toString();

    }

    public static void main(String[] args) {

    String str = "Java Guides";

    // String is immutable

    str = reverse(str);

    System.out.println("Reverse of the given string is : " + str);

    }

    }

    输出:

    Reverse of the given string is : sediuG avaJ

    8. 使用 Byte 数组

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class ReverseStringUsingByteArray {

    // Function to reverse a string in Java using byte array

    public static String reverse(String str) {

    // return if string is null or empty

    if (str == null || str.equals(""))

    return str;

    // convert string into bytes

    byte[] bytes = str.getBytes();

    // start from the two end points l and h of the given string

    // and increment l & decrement h at each iteration of the loop

    // until two end-points intersect (l >= h)

    for (int l = 0, h = str.length() - 1; l < h; l++, h--) {

    // Swap values at l and h

    byte temp = bytes[l];

    bytes[l] = bytes[h];

    bytes[h] = temp;

    }

    // convert byte array back into the string

    return new String(bytes);

    }

    public static void main(String[] args) {

    String str = "Java Guides";

    // String is immutable

    str = reverse(str);

    System.out.println("Reverse of the given string is : " + str);

    }

    }

    输出:

    Reverse of the given string is : sediuG avaJ

    9. 使用 substring() 方法

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class UsingSubStringFunction {

    // Function to reverse a string in Java using recursion

    private static String reverse(String str) {

    // base case: if string is null or empty

    if (str == null || str.equals(""))

    return str;

    // last character + recurse for remaining string

    return str.charAt(str.length() - 1) + reverse(str.substring(0, str.length() - 1));

    }

    public static void main(String[] args) {

    String str = "javaguides";

    // string is immutable

    str = reverse(str);

    System.out.println("Reverse of the given string is : " + str);

    }

    }

    输出:

    Reverse of the given string is : sediugavaj

    10. 使用递归

    package net.javaguides.corejava.string;

    /**

    *

    * @author Ramesh Fadatare

    *

    */

    public class UsingRecursion {

    static int i = 0;

    // Recursive function to reverse a string in Java using static variable

    private static void reverse(char[] str, int k) {

    // if we have reached the end of the string

    if (k == str.length)

    return;

    // recurse for next character

    reverse(str, k + 1);

    if (i <= k) {

    char temp = str[k];

    str[k] = str[i];

    str[i++] = temp;

    }

    }

    public static String reverse(String str) {

    // base case: if string is null or empty

    if (str == null || str.equals(""))

    return str;

    // convert string into a character array

    char[] A = str.toCharArray();

    // reverse character array

    reverse(A, 0);

    // convert character array into the string

    return String.copyValueOf(A);

    }

    public static void main(String[] args) {

    String str = "Java Guides";

    // string is immutable

    str = reverse(str);

    System.out.println("Reverse of the given string is : " + str);

    }

    }

    输出:

    Reverse of the given string is : sediuG avaJ

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • java反转字符串

    2021-04-25 11:26:48
    反转字符串的问题,经常会遇到。将给定的字符串,反转后进行返回。

    反转字符串的问题,经常会遇到。将给定的字符串,反转后进行返回。

    第一种解法:使用 StringBuffer ,StringBuffer有自带的反转方法。

    public static void main(String[] args) {
            String str="ABCDE";
            String s = reverseStr(str);
            System.out.println(s);
    }
    public  static  String  reverseStr(String str){
            StringBuffer buf=new StringBuffer(str);
            buf.reverse();
            return buf.toString();
    }
    

    第二种解法:开辟新的 空字符串 ,倒序拼接新字符串

    public static void main(String[] args) {
            String str = "ABCDE";
            String s = reverseStr(str);
            System.out.println(s);
        }
        public static String reverseStr(String str) {
            char[] arr = str.toCharArray();
            String result = "";
            for (int i = arr.length - 1; i >= 0; i--) {
                result += arr[i];
            }
            return result.toString();
        }
    

    运行结果
    运行结果

    展开全文
  • Java反转字符串

    2018-12-22 20:57:53
    编写一个函数,其作用是将输入的字符串反转过来。 class Solution{ public String reverseString(String s){ return new StringBuffer(s).reverse().toString(); } } //字符串转成数组,toCharArray() // ...

    编写一个函数,其作用是将输入的字符串反转过来。

    class Solution{
        public String reverseString(String s){
            return new StringBuffer(s).reverse().toString();
        }
    }
    
    
            //字符串转成数组,toCharArray()
            // char[] res = s.toCharArray();
            // String r = "";   //空串
            // for(int i=res.length-1;i>=0;i--){
            //     r += res[i];
            // }
            // return r;
            
            //用charAt()
            // String r = "";
            // for(int i=0;i<s.length();i++){
            //     r=s.charAt(i)+r;
            // }
            // return r;
    
    //递归的方法
    
    public String reverse(String s){
        if(s==null || s.length()<=1)
            return s;
        return reverse(s.substring(1))+s.charAt(0);
    }
    
    
    
    .substring(start,stop):从start位置开始,stop位置结束,截下这部分子串,范围[start,stop-1]
    .charAt(0):取0位置的字符

     

    展开全文
  • java 反转字符串

    2020-03-04 16:07:36
    public class ReverseStr { public void reverseString(char[] s) { int len = s.length; if (len == 0) return; for (int i = 0; i < len / 2; i++){ ...


    public class ReverseStr {
        public void reverseString(char[] s) {
            int len = s.length;
            if (len == 0) return;
                 
            for (int i = 0; i < len / 2; i++){
                char temp = s[i];
                s[i] = s[len-i-1];
                s[len-i-1] = temp;
            }

        }
    }
     

    展开全文
  • Java 反转字符串

    2019-06-12 22:05:14
    import java.util.Arrays; /** * @Description: java类作用描述 * @Author: Bsea * @CreateDate: 2019/6/12$ 21:26$ */ public class Test11 { public static void main(String[] args) ...
  • 在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串。例如,把字符串“javaguides” 反转为 “sediugavaj”。 1. 使用 + (String连接) 操作符 package ...
  • 原标题:Java 反转字符串的 10 种方法来源:ImportNew - 唐尤华在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串。例如,把字符串“javaguides” 反转为 “sediugavaj”。1. 使用 +...
  • 主要介绍了Java反转字符串的10种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们来一起学习一下吧
  • 在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串。例如,把字符串“javaguides” 反转为 “sediugavaj”。1. 使用 + (String连接) 操作符package net.javaguides.corejava.string;...
  • 反转字符串一直被当作是简单问题,大家的思想主要就是利用遍历,首尾交换字符实现字符串的反转。例如下面的代码,就可以简单实现反转。
  • 如 "abcdt" 反转之后是 "tdcba"思路1: 运用递归的方法进行反转假设反转方法为 reverseString(String str)1)当字符串为空或者只有一个字符时,返回原字符2)当字符串有两个以上(长度为len)的字符时,反转后的字符串为...
  • 在这篇文章中,我们会讨论10种用Java反转字符串的方法,通过10个Java程序反转字符串。例如,把字符串“javaguides” 反转为 “sediugavaj”。 使用 + (String连接) 操作符 package net.javaguides.corejava.string...
  • 反转字符串 反转字符串 I 题目描述: leetcode 344.反转字符串 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入...
  • 反转字符串一直被当作是简单问题,大家的思想主要就是利用遍历,首尾交换字符实现字符串的反转。例如下面的代码,就可以简单实现反转。public String reverse(char[] value){for (int i = (value.length - 1) >&...
  • Java反转字符串和相关字符编码问题  反转字符串一直被当作是简单问题,大家的思想主要就是利用遍历,首尾交换字符实现字符串的反转。例如下面的代码,就可以简单实现反转。     1 public...
  • Java反转字符串操作

    千次阅读 2018-08-17 16:01:03
    import java.util.Scanner; /** * 字符串反转 举例:键盘录入”abc” ... b:把字符串转换为字符数组,然后对字符数组进行反转,最后在把字符数组转换为字符串 C:调用方法 D:输出结果 */ public cla...
  • java反转字符串,不改变标点符号位置 面试题 public class test3 { //写一个方法要求把字符串的字符倒叙输出但是符号位置保持原位置 public static void main(String[] args) { String ss = “abc_defg”; String ...
  • java 反转字符串(转)
  • import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public classReveserOrder {public void order() throws IOException {InputStreamReader is = new InputStreamReade....
  • Java10种方法带你反转字符串
  • * 反转字符串 * 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 * * 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。...
  • import java.util.Scanner; public class Test10 { public static void main... System.out.print("请输入字符串:"); Scanner sc = new Scanner(System.in); String x = sc.nextLine(); String y = fanzhua.

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,550
精华内容 1,020
关键字:

java反转字符串

java 订阅