<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. java語言

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

    時間:2025-03-11 06:20:58 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;

      }

      //用數組實現

      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);

      }

      //用棧實現

      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);

      }

      //用逆序遍歷實現

      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();

      }

      //用位運算實現

      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);

      }

      //用遞歸實現

      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常用字符串03-27

    java常用字符串介紹07-08

    java常用字符串方法03-25

    Java字符串(String)05-18

    關于Java字符串問題05-10

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

    關于基于Java字符串==與 equals07-28

    Java中日期與字符串的處理08-16

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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人