<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            Java常用字符串反轉的五種方案

            時間:2025-12-21 09:50:33 java語言

            Java常用字符串反轉的五種方案

              Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,以下是為大家分享的Java常用字符串反轉的五種方案,供大家參考借鑒,歡迎瀏覽!

            Java常用字符串反轉的五種方案

              第一個類是運行類Run.java

              package com.imooc.strreverse;

              import java.util.Scanner;

              public class Run {

              public Run() {

              System.out.print("請輸入一個字符串:");

              Scanner sc = new Scanner(System.in);

              String str = sc.next();

              System.out.println();

              String reversedStrByArray = new Reverse(str).reverseByArray();

              System.out.println("對應反轉字符串為[Array]:"+ reversedStrByArray);

              String reversedStrByStack = new Reverse(str).reverseByStack();

              System.out.println("對應反轉字符串為[Stack]:"+ reversedStrByStack);

              String reversedStrBySort = new Reverse(str).reverseBySort();

              System.out.println("對應反轉字符串為[逆序遍歷]:"+ reversedStrBySort);

              String reversedStrByBit = new Reverse(str).reverseByBit();

              System.out.println("對應反轉字符串為[位運算]:"+ reversedStrByBit);

              String reversedStrByRecursive = new Reverse(str).reverseByRecursive(str);

              System.out.println("對應反轉字符串為[遞歸]:"+ reversedStrByRecursive); }

              public static void main(String[] args) {

              new Run();

              }

              }

              第二段代碼是實現類Reverse.java

              package com.imooc.strreverse;

              import java.util.Stack;

              public class Reverse {

              String str = new String();

              public Reverse(String str) {

              this.str = str;

              }

              /pic/p>

              public String reverseByArray() {

              if(str == null str.length() == 0) {

              return str;

              }

              int len = str.length();

              char[] chArray = str.toCharArray();

              for(int i= 0; i< len/2; i++) {

              char temp;

              temp = chArray[i];

              chArray[i] = chArray[len- 1- i];

              chArray[len- 1- i] = temp;

              }

              return new String(chArray);

              }

              /pic/p>

              public String reverseByStack() {

              if(str == null str.length() == 0) {

              return str;

              }

              Stack strStack = new Stack();

              char[] chArray = str.toCharArray();

              for(Character ch: chArray) {

              strStack.push(ch);

              }

              int len = str.length();

              for(int i= 0; i< len; i++) { chArray[i] = strStack.pop();

              }

              return new String(chArray);

              }

              /pic/p>

              public String reverseBySort() {

              if(str == null str.length() == 0) {

              return str;

              }

              StringBuilder sb = new StringBuilder();

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

              sb.append(str.charAt(i));

              }

              return sb.toString();

              }

              /pic/p>

              public String reverseByBit() {

              if(str == null str.length() == 0) {

              return str;

              }

              char[] chArray = str.toCharArray();

              int len = str.length();

              for(int i= 0; i< len/ 2; i++) {

              chArray[i]^= chArray[len- 1- i];

              chArray[len- 1- i]^= chArray[i];

              chArray[i]^= chArray[len- 1- i];

              }

              return new String(chArray);

              }

              /pic/p>

              public String reverseByRecursive(String str) {

              if(str == null str.length() == 0) {

              return str;

              }

              int len = str.length();

              if(len == 1) {

              return str;

              } else {

              return reverseByRecursive(str.substring(1))+ str.charAt(0);

              }

              }

              }


            【Java常用字符串反轉的五種方案】相關文章:

            java常用字符串12-15

            java常用字符串方法12-17

            java常用字符串介紹03-06

            Java字符串(String)12-26

            Java實現字符串倒序輸出的常用方法01-18

            關于Java字符串問題11-09

            C語言的字符串反轉輸出是什么樣01-10

            Java中日期與字符串的處理11-13

            關于基于Java字符串==與 equals10-31

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院