重複の可能性:
事前定義された関数を使用せずに文字列の逆を印刷しますか?
組み込みメソッドを使用せずに文字列を逆にする方法を教えてください。文字列クラスのみを使用したいのですが、「john is a boy」という文字列があり、「yob a si nhoj」と出力するようにアドバイスしてください。
重複の可能性:
事前定義された関数を使用せずに文字列の逆を印刷しますか?
組み込みメソッドを使用せずに文字列を逆にする方法を教えてください。文字列クラスのみを使用したいのですが、「john is a boy」という文字列があり、「yob a si nhoj」と出力するようにアドバイスしてください。
このメソッドは、文字列を逆方向に返します。文字列を逆方向に反復処理して、別の文字列に追加するだけです。
for ループを使用してこれを行いますが、最初に文字列の長さが 0 より大きいかどうかを確認します。
Java 文字列には、文字列の位置にある単一の文字を返すメソッド「charAt(index)」があります。位置 0 は最初の文字です。したがって、「Boy」を反転させたい場合は、文字 2、次に 1、次に 0 から始めて、それらをすべて一緒に新しい文字列に追加し、結果として「yoB」になります。
public static String reverseString(String inString) {
String resultString = "";//This is the resulting string, it is empty but we will add things in the next for loop
if(inString.length()>0) {//Check the string for a lenght greater than 0
//here we set a number to the strings lenght-1 because we start counting at 0
//and go down to 0 and add the character at that position in the original string to the resulting one
for(int stringCharIndex=inString.length()-1;stringCharIndex>=0;stringCharIndex--) {
resultString+=inString.charAt(stringCharIndex);
}
}
//finaly return the resulting string.
return resultString;
}
文字列内のすべての文字を繰り返し処理し、insert(0, char) メソッドを使用して StringBuffer の前に追加できます。次に、反復の最後に、StringBuffer は反転された文字列になります。