zoukankan      html  css  js  c++  java
  • 20155330 第十一周课堂练习(20170503)

    20155330 第十一周课堂练习(20170503)

    一、代码检查-P74

    修改教材P74一行代码NineNineTable.java,让执行结果是个三角形:

    码云链接

    public class Nine {
        public static void main(String[] args) {
            for(int i=1;i<=9;i++){
                for (int j = 1; j <=i ; j++)
                {
                    System.out.printf("%d*%d=%2d	",i,j,i*j);
                }
                System.out.println();
            }
        }
    }
    

    二、迷你直流

    提交测试截图和码云练习项目链接,实现Linux下dc的功能,计算后缀表达式的值

    码云链接

    import java.util.StringTokenizer;
    import java.util.Stack;
    
    public class MyDC {
        /**
         * constant for addition symbol
         */
        private final char ADD = '+';
        /**
         * constant for subtraction symbol
         */
        private final char SUBTRACT = '-';
        /**
         * constant for multiplication symbol
         */
        private final char MULTIPLY = '*';
        /**
         * constant for division symbol
         */
        private final char DIVIDE = '/';
        /**
         * the stack
         */
        private Stack<Integer> stack;
    
        public MyDC() {
            stack = new Stack<Integer>();
        }
    
        public int evaluate(String expr) {
            int op1, op2, result = 0;
            String token;
            StringTokenizer tokenizer = new StringTokenizer(expr);
    
            while (tokenizer.hasMoreTokens()) {
                token = tokenizer.nextToken();
    
                //如果是运算符,调用isOperator
                if (isOperator(token)) {
                    op2 = (stack.pop()).intValue();
                    op1 = (stack.pop()).intValue();
                    result = evalSingleOp(token.charAt(0), op1, op2);
                    stack.push(new Integer(result));
                    //从栈中弹出操作数2
                    //从栈中弹出操作数1
                    //根据运算符和两个操作数调用evalSingleOp计算result;
                    //计算result入栈;
                } else
                    stack.push(new Integer(Integer.parseInt(token)));
                //如果是操作数
                //操作数入栈;
            }
    
            return result;
        }
    
        private boolean isOperator(String token) {
            return (token.equals("+") || token.equals("-") ||
                    token.equals("*") || token.equals("/"));
        }
    
        private int evalSingleOp(char operation, int op1, int op2) {
            int result = 0;
    
            switch (operation) {
                case ADD:
                    result = op1 + op2;
                    break;
                case SUBTRACT:
                    result = op1 - op2;
                    break;
                case MULTIPLY:
                    result = op1 * op2;
                    break;
                case DIVIDE:
                result = op1 / op2;
                break;
            }
            return result;
        }
    }
    
    import java.util.Scanner;
    public class MyDCTest {
        public static void main (String[] args) {
            String expression, again;
            int result;
            try
            {
                Scanner in = new Scanner(System.in);
                do
                {
                    MyDC evaluator = new MyDC();
                    System.out.println ("Enter a valid postfix expression: ");
                    expression = in.nextLine();
    
                    result = evaluator.evaluate (expression);
                    System.out.println();
                    System.out.println ("That expression equals " + result);
    
                    System.out.print ("Evaluate another expression [Y/N]? ");
                    again = in.nextLine();
                    System.out.println();
                }
                while (again.equalsIgnoreCase("y"));
            }
            catch (Exception IOException)
            {
                System.out.println("Input exception reported");
            }
        }
    }
    
  • 相关阅读:
    如何只通过Sandboxed Solution启动一个定时执行的操作
    创建与SharePoint 2010风格一致的下拉菜单 (续) 整合Feature Custom Action框架
    创建与SharePoint 2010风格一致的下拉菜单
    《SharePoint 2010 应用程序开发指南》第二章预览
    SharePoint 2013 App 开发 (1) 什么是SharePoint App?
    使用Jscex增强SharePoint 2010 JavaScript Client Object Model (JSOM)
    搜索范围的管理
    SharePoint 2010 服务应用程序(Service Application)架构(1)
    SharePoint 2010 服务应用程序(Service Application)架构(2)
    SharePoint 2013 App 开发 (2) 建立开发环境
  • 原文地址:https://www.cnblogs.com/ashin-kl/p/6804054.html
Copyright © 2011-2022 走看看