zoukankan      html  css  js  c++  java
  • 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()方法实现反序。

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

  • 相关阅读:
    最短母串
    noip模拟测试7
    linux下的对拍程序
    noip模拟测试6
    QWidget 前后位置设定
    C++编程规范_第5~13条 设计风格
    random /timer/sort 示例代码
    资料准备
    【转】三维动态数组 分配与释放
    批量修改文件名
  • 原文地址:https://www.cnblogs.com/Eason-S/p/5444909.html
Copyright © 2011-2022 走看看