私はこのような何かを達成したい:文字列の一部をアルファベット順の逆順にソートするにはどうすればよいですか?
String str = "Good Morning;
String subStr = str.substring(0,7);
その後、私は逆の順序で文字をソートしたいです。 ooMGd
私はこのような何かを達成したい:文字列の一部をアルファベット順の逆順にソートするにはどうすればよいですか?
String str = "Good Morning;
String subStr = str.substring(0,7);
その後、私は逆の順序で文字をソートしたいです。 ooMGd
簡単な方法:私は私の出力になりたい
String str = "Good Morning";
String subStr=str.substring(0,7);
char[] arr = subStr.toCharArray();
Arrays.sort(arr);
for(int i = arr.length - 1; i >= 0; i--)
System.out.print(arr[i]);
がしよう -
public static void main(String[] args) throws IOException
{
String str="Good Morning;" ;
String[] subStr=str.substring(0,7).split("");
Arrays.sort(subStr,Collections.reverseOrder());
String s ="";
for(int i=0;i<subStr.length;i++)
{
s+=subStr[i];
}
System.out.println(s);
}
は、サブ文字列からの文字列配列を作成し、でそのコレクションを並べ替えます逆順。逆順ソートされた配列の配列があり、現在の文字列にそれらを追加します。希望の結果を持つ文字列があります。
あるいは、より良い解決策は、StringBuilder
String str = "Good Morning";
String s = new StringBuilder(str.substring(0, 7)).reverse().toString();
System.out.println(s);
になりますこれはまた、正しい動作します。
StringBuilder
オブジェクトを使用しないのはなぜですか? (ソートを含む)(new StringBuilder(str.substring(0, 7))).reverse().toString();
そして完全な例:
package testing.project;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
String str = "Good Morning";
char[] sorted = new StringBuilder(str.substring(0, 7)).reverse().toString().toCharArray();
Arrays.sort(sorted);
String reversedString = new StringBuilder(new String(sorted)).reverse().toString();
System.out.println(reversedString);
}
}
このワンライナーを試してみてください