黑马程序员技术交流社区
标题:
字符串反转
[打印本页]
作者:
Emperors
时间:
2014-4-18 00:31
标题:
字符串反转
package str.demo;
public class ReverseStr {
public static void main(String[] args) {
System.out.println(reverse("abcdefg"));
}
public static String reverse(String data) {
char[] arr = data.toCharArray();
int len = data.length();
for (int i = 0; i < len / 2; i++) {
swap(arr, i, len - i - 1);
}
return new String(arr);
}
private static void swap(char[] arr, int index1, int index2) {
char temp = arr[index1];
arr[index1] = arr[index2];
arr[index2] = temp;
}
}
这个代码打印的结果是 gfedcba,我想请教一下, 如何让打印的结果为GefDcba呢?
请高手指教、谢谢
作者:
随风而去
时间:
2014-4-18 00:39
你这样的要求有必要么??是没事找分赚吧
作者:
Tking
时间:
2014-4-18 00:50
进行翻转的时候,可以在翻转的方法参数里加上标记,指明需要翻转strat到end这段函数,在将abcdefg这个字符串,进行第一次翻转,可以得到gfedcba,这时先拿到字符转内,e和f的位置,再进行一次翻转,将这段代码的位置翻转一次,就可以得到gefdcba,如果你要转换大小写,可以利用很多方法,先变成char数组然后将指定数组的值添加多少,都可以完成
作者:
曹冬明
时间:
2014-4-18 01:23
System.out.println(reverse("abcdefg").toUpperCase().replace("CBA","cba"));
再送你一句二楼的话,这个要求有必要么
作者:
Sniper_qiu
时间:
2014-4-18 09:48
只要将这几个需要大写的字母替换成大写的就行了。没有那么多的要求。
作者:
Emperors
时间:
2014-4-18 10:44
随风而去 发表于 2014-4-18 00:39
你这样的要求有必要么??是没事找分赚吧
额 不是,我只是遇见类的题 那个题,是将一个语句反转过来,然后再将它们的首字母大写,而我只会做那么多
作者:
sanguodouble1
时间:
2014-4-18 11:58
很简单啊,你在拿到你那个结果后,这个把e和f调换一下。
然后用Character.toUpperCase()方法把g和d大写就行了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2