标签:
将String类型的字符串里的内容进行反序排列得到一个新的String类型字符串,下面提供两种方法实现:
法1、先将原String类型字符串转换为字符数组,通过字符数组来操作各个位上的单个字符,通过对称的交换首尾字符实现整体字符数组的反序操作,然后将此字符数组再转换为String类型的字符串。
1 package ****; 2 3 import java.util.*; 4 5 public class sanweifanxushu_3_8 { 6 public static void main(String[] args){ 7 int n,len=0; 8 System.out.println("请输入一个不以0为结尾的整数"); 9 Scanner input = new Scanner(System.in); 10 n = input.nextInt(); 11 if(n%10==0){ 12 System.out.println("输入格式错误!输入不能以0结尾!"); 13 } 14 else{ 15 String str11 = String.valueOf(n); 16 len = str11.length(); 17 for(int i=0;i<(len/2);i++){ 18 str11 = swap(str11,i,len-1-i); 19 } 20 System.out.println(n+"的反序数是:"+str11); 21 } 22 23 input.close(); 24 } 25 26 public static String swap(String str,int a,int b){ 27 char temp1,temp2; 28 temp1 = str.charAt(a); 29 temp2 = str.charAt(b); 30 char[] chararr = str.toCharArray(); 31 chararr[a] = temp2; 32 chararr[b] = temp1; 33 String s2 = new String(chararr); 34 System.out.println(s2); 35 return s2; 36 } 37 }
法2、通过StringBuffer类的reverse()方法直接实现反序。
1 package *******; 2 3 import java.util.*; 4 5 public class sanweifanxushu_3_8_2 { 6 public static void main(String[] args){ 7 int n; 8 System.out.println("请输入一个不以0为结尾的整数"); 9 Scanner input = new Scanner(System.in); 10 n = input.nextInt(); 11 if(n%10==0){ 12 System.out.println("输入格式错误!输入不能以0结尾!"); 13 } 14 else{ 15 String str11 = String.valueOf(n); 16 str11 = ReverseStr(str11); 17 System.out.println(n+"的反序数是:"+str11); 18 } 19 input.close(); 20 } 21 22 public static String ReverseStr(String str){ 23 return (new StringBuffer(str)).reverse().toString(); 24 } 25 26 }
其他方法待续······
标签:
原文地址:http://www.cnblogs.com/Eason-S/p/5444909.html