package com
.cgfz
.thread
;
public class Demo1
{
public
static void main(String
[] args
) {
System
.out
.println(reverse2("abdf"));
}
public
static String
reverse1(String s
) {
int length
= s
.length();
String begain
= "";
String last
= "";
for (int i
= 0; i
< length
/2; i
++) {
begain
= s
.charAt(i
) + begain
;
}
for (int j
= length
-1; j
>length
/2; j
--) {
last
= last
+ s
.charAt(j
) ;
}
if(length
% 2 == 0) {
return begain
+ last
+ s
.charAt(length
/2);
}else {
return begain
+ s
.charAt(length
/2) + last
;
}
}
public
static String
reverse2(String str
) {
Integer halflength
= str
.length() / 2;
StringBuffer begain
= new
StringBuffer(str
.substring(0, halflength
));
StringBuffer last
= new
StringBuffer(str
.substring(str
.length() % 2 == 0 ? halflength
: halflength
+ 1, str
.length()));
if(str
.length() % 2 != 0) {
return begain
.reverse().toString() + str
.charAt(halflength
) + last
.reverse().toString();
}else {
return begain
.reverse().toString() + last
.reverse().toString();
}
}
public
static String
reverse3(String str
) {
StringBuffer buffer
= new
StringBuffer(str
);
String result
= buffer
.reverse().toString();
if(str
.length() % 2 == 0) {
return result
.substring(str
.length()/2, str
.length()) + result
.substring(0, str
.length()/2);
}else {
return result
.substring(str
.length()/2 + 1, str
.length()) +str
.charAt(str
.length()/2) + result
.substring(0, str
.length()/2);
}
}
public
static String
reverse(String str
) {
String newString
= "";
for (int i
= 0; i
< str
.length(); i
++) {
newString
=newString
+str
.charAt(str
.length()-1-i
);
}
return newString
;
}
public
static String
reverse4(String str
) {
return new
StringBuffer(str
).reverse().toString();
}
}
转载请注明原文地址: https://mac.8miu.com/read-493436.html