2016-07-08 2 views

Antwort

2

Eine einfache Art und Weise:

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]); 
0

Try -

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); 
} 

Erstellen Sie eine String-Array von Unterkette und sortieren, die Sammlung in umgekehrte Reihenfolge. Sie haben eine umgekehrte Reihenfolge sortiert Array von String jetzt an eine Zeichenfolge anhängen Sie haben eine Zeichenfolge mit dem gewünschten Ergebnis.

Oder eine bessere Lösung wird StringBuilder

 String str = "Good Morning"; 
    String s = new StringBuilder(str.substring(0, 7)).reverse().toString(); 
    System.out.println(s); 

Dies wird auch korrekt arbeiten werden.

0

Warum verwenden Sie kein StringBuilder Objekt?

Versuchen Sie, diese Einzeiler: (new StringBuilder(str.substring(0, 7))).reverse().toString();

Und das komplette Beispiel (einschließlich der Sortierung):

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); 
    } 
}