实现一个String的逆序输入:先将String对象toCharArray(),然后将生成的char数组用for循环入栈,之后再用同样的方法出栈,实现逆序输出,如果我想接收出栈的数据并将其变为String,就是生成一个反向的String该怎么弄?

解决方案 »

  1.   

    不是啊~咋接收pop()出栈的内容~我用getClass().getName()输出pop()出来的数据类型是java.lang.Character,我咋把他弄成一个数组然后转换成String?
      

  2.   

    你前面toCharArray()把string变成char数组 之后出来的时候再变回来不就得了   
      

  3.   


    import java.util.Scanner;
    import java.util.Stack;
    public class Reversion {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.println("请输入要反转的字符串:");
    String str = input.next();
    System.out.println(reverse(str));
    }

    public static String reverse(String str) {
    //入栈
    Stack<Character> stack = new Stack<Character>();
    for(int i=0; i<str.length(); i++) {
    stack.add(str.charAt(i));
    }

    //出栈,得到结果,保存在StringBuffer中
    StringBuffer sb = new StringBuffer();
    while(!stack.isEmpty()) {
    sb.append(stack.pop());
    }
    return sb.toString();
    }
    }