Java で文字列を反転する
この記事では、Java で文字列を反転するさまざまな方法を例とともに説明します。
例:
Prerequisite: String vs StringBuilder vs StringBuffer in Java
以下は、String クラスと StringBuilder クラスに関する興味深い事実です。
- String のオブジェクトは不変です。
- Java の String クラスには reverse() メソッドがありませんが、StringBuilder クラスには reverse() メソッドが組み込まれています。
- StringBuilder クラスには toCharArray() メソッドがありませんが、String クラスには toCharArray() メソッドがあります。
1. The idea is to traverse the length of the string 2. Extract each character while traversing 3. Add each character in front of the existing string
実装:
ジャワ
// java program to reverse a word> import> java.io.*;> import> java.util.Scanner;> class> GFG {> > public> static> void> main (String[] args) {> > > String str=> 'Geeks'> , nstr=> ''> ;> > char> ch;> > > System.out.print(> 'Original word: '> );> > System.out.println(> 'Geeks'> );> //Example word> > > for> (> int> i=> 0> ; i { ch= str.charAt(i); //extracts each character nstr= ch+nstr; //adds each character in front of the existing string } System.out.println('Reversed word: '+ nstr); } } //Contributed by Tiyasa> |
出力
Original word: Geeks Reversed word: skeeG
文字列をバイトに変換する: getBytes() メソッドは、入力文字列を bytes[] に変換するために使用されます。
方法:
1. Create a temporary byte[] of length equal to the length of the input string. 2. Store the bytes (which we get by using getBytes() method) in reverse order into the temporary byte[] . 3. Create a new String abject using byte[] to store result.
実装:
ジャワ
// Java program to ReverseString using ByteArray.> import> java.lang.*;> import> java.io.*;> import> java.util.*;> // Class of ReverseString> class> ReverseString {> > public> static> void> main(String[] args)> > {> > String input => 'techcodeview.com'> ;> > // getBytes() method to convert string> > // into bytes[].> > byte> [] strAsByteArray = input.getBytes();> > byte> [] result => new> byte> [strAsByteArray.length];> > // Store result in reverse order into the> > // result byte[]> > for> (> int> i => 0> ; i result[i] = strAsByteArray[strAsByteArray.length - i - 1]; System.out.println(new String(result)); } }> |
出力
skeeGrofskeeG
StringBuilder クラスの組み込み reverse() メソッドを使用します。
String クラスには reverse() メソッドがないため、入力文字列を StringBuilder に変換する必要があります。これは StringBuilder の append メソッドを使用して実現されます。その後、最初から最後のインデックスまでをスキャンして、反転した文字列の文字を出力します。
実装:
ジャワ
// Java program to ReverseString using StringBuilder> import> java.lang.*;> import> java.io.*;> import> java.util.*;> // Class of ReverseString> class> ReverseString {> > public> static> void> main(String[] args)> > {> > String input => 'Geeks for Geeks'> ;> > StringBuilder input1 => new> StringBuilder();> > // append a string into StringBuilder input1> > input1.append(input);> > // reverse StringBuilder input1> > input1.reverse();> > // print reversed String> > System.out.println(input1);> > }> }> |
出力
skeeG rof skeeG
文字列を文字配列に変換します。 ユーザーは反転する文字列を入力します。
方法:
1. First, convert String to character array by using the built in Java String class method toCharArray(). 2. Then, scan the string from end to start, and print the character one by one.
実装:
ジャワ
// Java program to Reverse a String by> // converting string to characters one> // by one> import> java.lang.*;> import> java.io.*;> import> java.util.*;> // Class of ReverseString> class> ReverseString {> > public> static> void> main(String[] args)> > {> > String input => 'GeeksForGeeks'> ;> > // convert String to character array> > // by using toCharArray> > char> [] try1 = input.toCharArray();> > for> (> int> i = try1.length -> 1> ; i>=>> |