我要實現的是這樣的:如何取一部分字符串並按照字母順序排序?
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);
}
}