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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 党传才 中级黑马   /  2012-4-12 12:53  /  2411 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字符数组ch
for(int i = 0; i < 10; i++){
push(ch);
}

for(int i = 0; i < 10; i++){
System.out.print(pop(ch));
}

这样行么  

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

4 个回复

倒序浏览
字符数组ch
for(int i = 0; i < 10; i++){
push(ch[i]);
}

for(int i = 0; i < 10; i++){
System.out.print(pop(ch[i]));
}

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
给你一个完整的吧:
import java.util.Stack;

public class Test2 {

        static char[] ch = {'a','b','c','d','e'};
        public static void main(String[] args) {
                Stack stack = new Stack();
                for(int i=0;i<ch.length;i++){
                        //push(ch[i]);
                        stack.push(ch[i]);
                }
                for(int i=0;i<ch.length;i++){
                        System.out.print(stack.pop());
                }
        }
}

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
thank you
回复 使用道具 举报
我来解释一下楼上写的代码:
import java.util.Stack;

public class Test2 {

        static char[] ch = {'a','b','c','d','e'};
        public static void main(String[] args) {
                Stack stack = new Stack();//创建一个堆栈对象
                for(int i=0;i<ch.length;i++){
                        //push(ch[i]);
                        stack.push(ch[i]);//push()方法把项推到堆栈顶部,即第一次循环a被推向堆栈顶部,第二次b被推向顶部,依次类推,最后e在堆栈顶部,a
在堆栈底部                }
                for(int i=0;i<ch.length;i++){
                        System.out.print(stack.pop());//pop()方法去除堆栈顶部的对象,并返回该对象的值;类似方法还有peek(),但这个方法不会移除堆栈顶部对象,如果用这个方法不论循环多少次取到的值还是顶部的e;所以这边采用pop()方法,在取顶部的e的时候并去除它,那取完e后堆栈的顶部就变成了d,再次调用pop()取值并去除,以此循环到取a,结果输出edcba。但是数组存储的顺序并没有改变,即每一项对应的下标值并没有变,数组还是abcde
                }
        }
}


  

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

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