要求:写一个方法,该方法只有一个参数,参数要是一个字符串。该方法要有返回值,返回值为一个字符串。
样例:     输入:abcdef
     输出:fedcba下面是我写的程序,但是只会返回最后一个字符。。55555555555555,请假各位大虾。
偶系Java菜鸟啊,看了偶写的程序不要骂偶啊~~!
在此谢谢大虾们先!~~!public class array { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
String str=new String();
str="abcdefg";
System.out.print(new count().Array(str));
}}
class count{
String string=new String();
int i=1;
public String Array(String str)
{
this.i=str.length();
System.out.println("This i="+i);
if(str.length()==1)
return str.substring(0,i);
else
{
return string = Array(str.substring(i-1, i));
}
}
}

解决方案 »

  1.   

    楼主可以用下面两种方法实现:
    1、Stack:Stack的特点就是先进后出,正好符合你的需求。你把String中的每一个字符放入Stack中,然后取出就得到结果了;
    2、StringBuffer:用String构造一个StringBuffer,从大到小取出就可以了。
      

  2.   

    import java.util.Iterator;
    import java.util.Stack;public class TestSta 
    {
    /**
     * @param args
     */
    public static void main(String[] args) 
    {
    // TODO Auto-generated method stub
            String s="abcdef";
            System.out.println(s);
            Stack stack=new Stack();
            char[] arr=s.toCharArray();
            Iterator it=stack.iterator();
            for(int i=0;i<arr.length;i++)
            {
             stack.push(Character.valueOf(arr[i]));
            }
            while(it.hasNext())
            {
             System.out.print(stack.pop());
            }
            
    }}
      

  3.   

    public class TestSta1 
    {
    /**
     * @param args
     */
    public static void main(String[] args) 
    {
    String s="abcdef";
    System.out.println(s);
    StringBuffer sb=new StringBuffer(s);
    for(int i=sb.length()-1;i>=0;i--)
    {
    System.out.print(sb.charAt(i));
    } }}
      

  4.   

    给你个最直接的方法!
    先用getChar()方法获得一个字符串数组同过数组长度来做循环
    for(int i=str.length-1;i<=0;i--)
    {
      System.out.println(everyChar);
    }
      

  5.   

    public static String reverseString(String str){
    StringBuilder buf = new StringBuilder(str);
    return buf.reverse().toString();
    }
      

  6.   

    public String array(String str)
      {
        String str1 = new String();
        int  i = str.length();
      for(;i>=1;i--){
        str1 =  str1.concat(str.substring(i-1,i));
      }
      System.out.println(i);
      return str1;
      }
      

  7.   

    alex9521(断--言) 这位兄弟用循环不是递归
    emin_lee() 这位兄弟用STACK,方法真不错,佩服佩服
      

  8.   

    public class Array {/**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    String str=new String();
    str="abcdefg";
    new count().Array(str);
    }}
    class count{
    String string=new String();
    int i=1;
    public void Array(String str)
    {
       this.i=str.length();
       System.out.print(str.substring(i-1,i));
       
       if(i==1)
            return;   Array(str.substring(0, i-1));
    }}
      

  9.   

    public void reverse(String str){
         StringBuffer buf = new StringBuffer(str);
         System.out.println( buf.reverse().toString());
        }
      

  10.   

    不是有个方法可以把字符串转化为一个char数组吗
    还有个方法把char数组转化为一个字符串啊
    这样说明白吧
      

  11.   

    写了一个递归,public class Reverse {
    private static StringBuffer s=new StringBuffer();
    public static String doOutput(String str){
    if(str.length()!=1){
    String ss=str.substring(0,str.length()-1);
    s.append(str.charAt(str.length()-1));
    doOutput(ss);
    }else{
    s.append(str.charAt(0));
    }
    return s.toString();
    } /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO 自动生成方法存根
                      //用你自己的String替换掉abcdef
    System.out.println(Reverse.doOutput("abcdef"));

    }}
      

  12.   

    StringBuffer sb = new StringBuffer("abcdef");
    System.out.println(sb.reverse().toString());