2016-07-08 76 views

回答

2

一個簡單的方法:

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

嘗試 -

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

這也將正常運行的。

0

爲什麼不使用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); 
    } 
} 
相關問題