黑马程序员技术交流社区
标题:
有什么算法能实现逆序输出
[打印本页]
作者:
黑马不黑
时间:
2013-12-3 22:19
标题:
有什么算法能实现逆序输出
本帖最后由 黑马不黑 于 2013-12-3 23:10 编辑
自学中遇到的问题,比如有义字符串“abcd1234”,请问JAVA API里面有没有现成的函数可以实现逆序输出呢,要怎么实现啊?
作者:
李文帅
时间:
2013-12-3 22:52
好像没有吧,
这是我自己写的代码:
/*
* 思路:
* 1、将字符串转换成字符数组
* 2、将字符数组反转
* 3、将反转的字符数组转换成字符串
*/
public class StringTest {
public static void main(String[] args){
String s = "abcd1234";
System.out.println("原字符串:"+s);
String s1 = reverseString(s);
System.out.println("反转后的字符串:"+s1);
}
//整个字符串反转
public static String reverseString(String s){
return reverseString(s,0,s.length());
}
//部分字符串反转
//start:要反转字符串的首位置(包含)
//end:要反转字符串的末位置(不包含)
public static String reverseString(String s,int start,int end){
//将字符串转换成字符数组
char[] c = s.toCharArray();
//调用反转数组方法,反转数组
reverse(c,start,end);
//将反转的字符数组转换成字符串,并返回
return new String(c);
}
//反转数组
public static void reverse(char[] c,int start,int end){
for(int s=start,e=end-1;s<e;s++,e--){
swap(c,s,e);
}
}
//换位操作
public static void swap(char[] c,int x,int y){
char t = c[x];
c[x] = c[y];
c[y] = t;
}
}
复制代码
其实毕老师的Java基础视频里有讲到,你可以看一下
"黑马程序员_毕向东_Java基础视频教程第13天-07-String(字符串练习2)"
作者:
oぃ汏少爺?
时间:
2013-12-4 09:25
可以试用reverse()方法
class Demo4{
public static void main(String[] args) {
StringBuffer a =new StringBuffer();
a.append("abc");
System.out.println(a.reverse().toString());
}
}
复制代码
作者:
守望幸福泉
时间:
2013-12-4 10:39
返回一个元素顺序被反转的 Array 对象。
arrayObj.reverse( )
必选项 arrayObj 参数为 Array 对象。
说明
reverse 方法将一个 Array 对象中的元素位置进行反转。在执行过程中,这个方法并不会创建一个新的 Array 对象。
假如数组是不连续的,reverse 方法将在数组中创建元素以便填充数组中的间隔。这样所创建的全部元素的值都是 undefined。
示例
下面这个例子说明了 reverse 方法的用法:
function ReverseDemo(){
var a, l; // 声明变量。
a = new Array(0,1,2,3,4); // 创建数组并赋值。
l = a.reverse(); // 反转数组的内容。
return(l); // 返回结果数组。
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2