A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑马不黑 中级黑马   /  2013-12-3 22:19  /  1482 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑马不黑 于 2013-12-3 23:10 编辑

自学中遇到的问题,比如有义字符串“abcd1234”,请问JAVA API里面有没有现成的函数可以实现逆序输出呢,要怎么实现啊?

3 个回复

倒序浏览
好像没有吧,
这是我自己写的代码:
  1. /*
  2. * 思路:
  3. * 1、将字符串转换成字符数组
  4. * 2、将字符数组反转
  5. * 3、将反转的字符数组转换成字符串
  6. */
  7. public class StringTest {
  8.         public static void main(String[] args){
  9.                 String s = "abcd1234";
  10.                 System.out.println("原字符串:"+s);
  11.                 String s1 = reverseString(s);
  12.                 System.out.println("反转后的字符串:"+s1);
  13.         }
  14.         //整个字符串反转
  15.         public static String reverseString(String s){
  16.                 return reverseString(s,0,s.length());
  17.         }
  18.         //部分字符串反转
  19.         //start:要反转字符串的首位置(包含)
  20.         //end:要反转字符串的末位置(不包含)
  21.         public static String reverseString(String s,int start,int end){
  22.                 //将字符串转换成字符数组
  23.                 char[] c = s.toCharArray();
  24.                 //调用反转数组方法,反转数组
  25.                 reverse(c,start,end);
  26.                 //将反转的字符数组转换成字符串,并返回
  27.                 return new String(c);
  28.         }

  29.         //反转数组
  30.         public static void reverse(char[] c,int start,int end){
  31.                 for(int s=start,e=end-1;s<e;s++,e--){
  32.                         swap(c,s,e);
  33.                 }
  34.         }
  35.         //换位操作
  36.         public static void swap(char[] c,int x,int y){
  37.                 char t = c[x];
  38.                 c[x] = c[y];
  39.                 c[y] = t;
  40.         }
  41. }
复制代码

其实毕老师的Java基础视频里有讲到,你可以看一下
"黑马程序员_毕向东_Java基础视频教程第13天-07-String(字符串练习2)"

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
可以试用reverse()方法

  1. class Demo4{
  2.         public static void main(String[] args) {
  3.                 StringBuffer a =new StringBuffer();
  4.                 a.append("abc");
  5.                 System.out.println(a.reverse().toString());
  6.         }
  7.        
  8. }
复制代码



回复 使用道具 举报
返回一个元素顺序被反转的 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);                 // 返回结果数组。
}

评分

参与人数 1技术分 +1 收起 理由
简★零度 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马