编写一个JAVA程序,把一个字符串反过来显示

来源:百度知道 编辑:UC知道 时间:2024/07/04 06:46:00
如将字符串"I love java"显示为"avaj evol I".
基本要求
要求根据字符串的构成原理来编写.
算法描述
由于字符是由字符构成的,因此将一个字符串反转输出是很容易的.

//以下代码手写,未验证,但思路就是这个样的,也符合数主的意思

String s = "I love java";

int len = s.length();

//String 本质就是一个Char数组
char[] c = s.toCharArray();

//取一半交换即可
for(int i=0; i<len/2; i++){
char tmp = c[i];
c[i]=c[len-i-1];
c[len-i-1]=tmp;
}
//将交换后的Char数组重新生成一个String
String out = new String(c);

System.out.println(out);//这就是反向输出了

public AbstractStringBuilder reverse() {
boolean hasSurrogate = false;
int n = count - 1;
for (int j = (n-1) >> 1; j >= 0; --j) {
char temp = value[j];
char temp2 = value[n - j];
if (!hasSurrogate) {
hasSurrogate = (temp >= Character.MIN_SURROGATE && temp <= Character.MAX_SURROGATE)
|| (temp2 >= Character.MIN_SURROGATE && temp2 <= Character.MAX_SURROGATE);
}
value[j] = temp2;
value[n - j] = temp;
}
if (hasSurrogate) {
// Reverse ba