字串反轉 字串中的單詞逆序輸出 java
阿新 • • 發佈:2019-02-10
/**字串反轉 * *如,輸入“I love China",要求輸出"China love I" */ import java.util.Scanner; public class SwapWord { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Please enter a string, such as 'I love China'"); String s = new String(sc.nextLine()); System.out.println("the string that was swaped before was:"); System.out.println(s); System.out.println("the swaped string:"); System.out.println(swapWord(s)); } /**字串中的單詞從後到前排列 * 先把字串全部反轉,在按空格分隔來反轉各個單詞*/ public static String swapWord(String s) { char[] a = s.toCharArray(); swap(a,0,a.length-1);//現在得到的是“anihC evol I” int blank = -1;//前一個空格的位置 for(int i=0;i<a.length;i++) { if(a[i]==' ') { int nextBlank = i;//後一個空格的位置 swap(a,blank+1,nextBlank-1); blank=nextBlank; } } return (new String(a)); } /**反轉全部自定開始和結束位置的字元陣列,包括字元陣列中的空格*/ public static void swap(char[] c,int begin, int end) { while(begin<end) { char temp = c[begin]; c[begin]=c[end]; c[end]=temp; begin++; end--; } } }