Eason-S

导航

String与反序

  将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 }

  

  不能通过String类型的replace()方法实现反序。

  其他方法待续······

posted on 2016-04-29 00:42  Eason_S  阅读(1203)  评论(0编辑  收藏  举报