zoukankan      html  css  js  c++  java
  • 009 JAVA将 'abc123' 字符串反转?

    JAVA将 'abc123' 字符串反转?

    答:四种常用方法:(没看懂方法调用,以后学了再看吧)

    1. StringBuilder的reverse()方法,最简单
    public static String reverse4(String s) {
    
      return new StringBuffer(s).reverse().toString();
    }
    

    2.使用字符串数组,实现从尾部开始逐个逆序放入字符串

    public static String reverse3(String s) {
    
      char[] array = s.toCharArray();
    
      String reverse = "";
    
      for(int i = array.length - 1; i >= 0; i--)
    
      reverse += array[i];
    
      return reverse;
    
    }
    
    

    3.使用String的CharAt方法,使用String的CharAt方法取出字符串中的各个字符,然后插入到字符串中,调用StringBuilder的insert()方法进行操作。

    public static String reverse2(String s) {
    
      int length = s.length();
    
      String reverse = "";
    
      for(int i = 0; i < length; i++)
    
      reverse = s.charAt(i) + reverse;
    
      return reverse;
    
    }
    

    4.使用递归的方法,实现字符串反转。

    public static String reverse1(String s) {
    
      int length = s.length();
    
      if(length <= 1){
    
        return s;
    
        }
    
      String left = s.substring(0, length / 2);
    
      String right = s.substring(length / 2, length);
    
      return reverse1(right) + reverse1(left);
    
    }
    

    参考博文

    注释:

    • 方法一:reverse()
    import java.util.Scanner;
    
    public class ReverseTest {
    	
        public static void main(String[] args) {
        	
            Scanner sc =new Scanner(System.in);	//获取用户输入
            
    		System.out.println("请输入字母:");	//提示
    
            StringBuilder a=new StringBuilder(sc.nextLine());	//新建StringBuilder对象
            
            StringBuilder re=a.reverse();	//调用reverse()方法获取反转后的StringBuilder
            
            System.out.println(re);	//输出
            
            sc.close();	//关闭流节省资源
        }
    }
    

    方法二:使用字符串数组

    
    

    方法三:CharAt、insert()方法

    
    

    方法四:递归

    
    
  • 相关阅读:
    HDU 6166
    codeforces 798D Mike and distribution
    Codeforces Round #409 (Div. 2) D Volatile Kite
    Codeforces Round #409 (Div. 2) C Voltage Keepsake(二分)
    HDU 4609 3-idiots(FFT计数)
    LightOJ 1236 Pairs Forming LCM(算术基本定理)
    HDU 1540 Tunnel Warfare(线段树,单点更新,区间查询)
    创建最简单的Struts2项目
    java自定义拦截器
    java拦截器和过滤器的区别
  • 原文地址:https://www.cnblogs.com/ynzj123/p/12606319.html
Copyright © 2011-2022 走看看