聯成電腦技術論壇

 找回密碼
 註冊
搜索
查看: 2485|回復: 2

[求助] Java Stack題目

[複製鏈接]
發表於 2011-10-16 01:49:38 | 顯示全部樓層 |閱讀模式
用Stack堆疊
寫出一個可以計算出
(2 * 5 - 1 * 2) / (11 - 9)
這類型的程式
就要一個一個push進去
在pop出來時進行判斷
來計算

幫忙一下
不太會寫
 樓主| 發表於 2011-10-16 14:37:19 | 顯示全部樓層
這題目的stack需要用到
import java.io.*;
import java.util.*;
        class Node {
            int data;  
            Node next;
        }
        // 堆疊
        class Stack {
            private Node top;     
            // 加入資料至頂端
            void add(Node node) {
                node.next = top;
                top = node;
            }
            // 傳回頂端資料
            Node top() {
                return top;
            }
            // 列出堆疊內容
            List<Node> list() {
                List<Node> nodes = new ArrayList<Node>();
                Node tmp = top;
                while(tmp != null) {
                    nodes.add(tmp);
                    tmp = tmp.next;
                }
                return nodes;
            }
        }
        public class Stack{
                public static void main(String[] args) throws IOException {
                        Stack stack = new Stack();
                        int x=1;
                        System.out.println("Start Push:");
                for(int a=0;a<10;a++){
                        int input = (int)(Math.random()*10+1);
                        Node node = new Node();
                        node.data = input;
                        stack.add(node);
                        System.out.println("Push"+(a+1)+" : "+stack.top().data);
                }
                System.out.println("\nStart Pop:");
                for(Node n : stack.list()){
                        System.out.println("Pop"+x+" : "+n.data);
                        x++;
                }
                }
    }

這一個程式的Stack
不可使用java內建
 樓主| 發表於 2011-10-18 18:35:02 | 顯示全部樓層
題目要求要用Stack來運算
因為運算式是要用BufferedReader來輸入
所以不會直接算出來
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



小黑屋|Archiver|手機版|聯成電腦技術論壇  

GMT+8, 2019-9-22 13:46

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表