java三种方式实现字符串反转(StringBuilder类,数组和栈)

这个没什么好说的(试了下中文的方法名,嗯原来是可以用的)

package test;

import java.util.Stack;

//字符反转的三种方式(其实中文也可以做字符的,方法名什么的,不过不建议使用)
public class CharReverse {	
	String string = new String("Hello world");
	int length = string.length();
	
	//引用StringBuilder类的reverse方法直接实现,简单方便
	public void 函数反转() {		
		StringBuilder sBuilder = new StringBuilder();
		sBuilder.append(string);				
		System.out.println(sBuilder.reverse());
	}
	
	//基层的数组实现,缺点在于数组长度不能改变
	public void 数组反转() {
		char[] string1 = new char[string.length()] ;
		for (int i = 0; i < length; i++) {
			string1 [(length-1) - i] = string.charAt(i);
		}
		System.out.println(string1);
	}
	
    //栈的先进后出特性可以用于字符反转
	public void 栈反转() {
		Stack<Character> sta = new Stack<>();
		for (int i = 0; i < length; i++) {
			sta.push(string.charAt(i)) ;
		}
		while (!sta.isEmpty()) {
			System.out.print(sta.pop());		
		}
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		CharReverse a1 = new CharReverse();
		a1.函数反转();
		a1.数组反转();
		a1.栈反转();
	}	
}


dlrow olleH
dlrow olleH
dlrow olleH

猜你喜欢

转载自blog.csdn.net/m15682532244/article/details/78284718