Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで文字列を逆にする最も簡単な方法は何ですか?


組み込みのreverse()メソッド

StringBufferクラスは、 reverse()。という名前のメソッドを提供します。 現在のStringBufferオブジェクトの内容を逆にして、結果のStringBufferオブジェクトを返します。これは、Javaを使用してStingを元に戻す最も簡単な方法です。そうするために-

  • 必要な文字列をパラメータとして渡して、StringBufferクラスをインスタンス化します。

  • 作成したオブジェクトのreverse()メソッドを呼び出します。

  • toString()メソッドを使用して再度文字列に変換します。

public class Sample {
   public static void main(String args[]) {
      String str = new String("Hello how are you");
      StringBuffer sb = new StringBuffer(str);
      String str2 = sb.reverse().toString();
      System.out.println(str2);
   }
}

出力

uoy era woh olleH

文字列を逆にするさらに2つの方法を見てみましょう

再帰の使用

再帰は、それ自体の中で関数を呼び出すプロセスであり、Javaプログラムが再帰を使用してStingを逆にします-

public class StringReverse {
   public String reverseString(String str) {
      if(str.isEmpty()) {
         return str;
      }else {
         return reverseString(str.substring(1))+str.charAt(0);
      }
   }
   public static void main(String[] args) {
      StringReverse obj = new StringReverse();
      String result = obj.reverseString("Tutorialspoint");
      System.out.println(result);
   }
}

出力

tniopslairotuT

toCharArray()の使用

文字列を文字配列に変換して、配列の文字を交換することもできます。

配列を逆にするには、最初の要素を最後の要素と交換し、2番目の要素を最後から2番目の要素と交換します。配列の長さが奇数の場合は、中央の要素をそのままにします。

iが配列の最初の要素である場合(配列の長さ–i-1) したがって、最後の要素になるため、array[i]をarray [(配列の長さ–i-1)]と交換します。 配列の開始から中点まで-

import java.util.Arrays;
public class StringReverse {
   public static void main(String[] args) {
      String str = "Tutorialspoint";
      char[] myArray = str.toCharArray();
      int size = myArray.length;
      for (int i = 0; i < size / 2; i++) {
         char temp = myArray[i];
         myArray[i] = myArray[size - 1 - i];
         myArray[size - 1 - i] = temp;
      }
      System.out.println("Array after reverse:: ");
      System.out.println(Arrays.toString(myArray));
   }
}

出力

Array after reverse::
[t, n, i, o, p, s, l, a, i, r, o, t, u, T]

  1. JavaのStringIndexOutOfBoundsExceptionとは何ですか?

    文字列は、Javaで文字のシーケンスを格納するために使用され、オブジェクトとして扱われます。 java.langパッケージのStringクラスは、文字列を表します。 文字列は、(他のオブジェクトのように)新しいキーワードを使用するか、(他のプリミティブデータ型のように)リテラルに値を割り当てることによって作成できます。 String stringObject = new String("Hello how are you"); String stringLiteral = "Welcome to Tutorialspoint"; 文字列には文字の配列

  2. JavaでのStringintern()メソッドの役割は何ですか?

    文字列は、文字のシーケンスを格納するJavaのクラスであり、 java.langに属します。 パッケージ。 Stringオブジェクトを作成すると、それらを変更することはできません(不変)。 ストレージ すべてのStringオブジェクトは、String Constant poolと呼ばれるヒープ領域の別のメモリ位置に格納されます。 。 文字列値を定義するときはいつでも、JVMは文字列定数プールに指定された値で文字列オブジェクトを作成します。したがって、上記のプログラムを実行すると、2つの文字列値が文字列定数プールに作成されます。 intern()メソッド このメソッドは、一意