您的位置:首页 > 产品设计 > UI/UE

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

2017-10-19 14:44 525 查看
这个没什么好说的(试了下中文的方法名,嗯原来是可以用的)

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息