我想问一下,有没有办法可以自定义你在java中反转字符串的方式?例如,这是我的示例输入:
大蓝鸟在飞翔。
有什么方法可以反转字符串的某些部分,例如3?
所以输出结果为:
Theib g beul bi dris ylfing。
字符串每3个字符后反转。这有可能吗?
答案 0 :(得分:2)
方法论:通过参数迭代输入字符串的所有字符(例如,在您的情况下,参数= 3)借助布尔标志确定要反转的部分。如果不反转部分子字符串,则将其附加到结果中,否则在StringBuilder对象的帮助下将其反向附加到结果。试试这段代码,我希望它有所帮助:
public static String customizedReverse(String str, int param)
{
String result = "";
boolean reverse = false;
StringBuilder sb = null;
int size = str.length(), i = 0;
if(param > size)
return str;
for (i = 0; i < (size/param)*(param); i += param)
{
String temp = str.substring(i, i + param);
if (!reverse)
result += temp;
else
{
sb = new StringBuilder(temp);
result += sb.reverse();
}
reverse = !reverse;
}
// Appending the remaining part of the string
if (!reverse)
result += str.substring(i, size);
else
{
sb = new StringBuilder(str.substring(i, size));
result += sb.reverse();
}
return result;
}