zoukankan      html  css  js  c++  java
  • java程序设计-算术表达式的运算

    1、团队课程设计博客链接

    洪亚文博客链接:http://www.cnblogs.com/201521123065hyw/
    郑晓丽博客链接:http://www.cnblogs.com/zxl3066/
    

    2、个人负责模块或任务说明

    负责模块:运算符号的优先级比较,测试各种情况,以及计算各种运算符的结果函数;
    

    3、自己的代码提交记录截图

             private static double Calculate(ArrayList<Double> value, String c,
    			double num) {// 三角函数的计算(包括平方立方根)
    		// TODO Auto-generated method stub
    		// 如果遇到左括号,则直接返回当前数,例如(5)
    		if (c.equals("(")) {
    			return num;
    		}
    		if (c.equals("sin")) {
    			return Math.sin(num * Math.PI / 180);
    		} else if (c.equals("cos")) {
    			return Math.cos(num * Math.PI / 180);
    		} else if (c.equals("^")) {
    			return Math.pow(value.remove(value.size() - 1), num);
    		} else if (c.equals("+")) {
    			return num + value.remove(value.size() - 1);
    		} else if (c.equals("-")) {
    			return value.remove(value.size() - 1) - num;
    		} else if (c.equals("*")) {
    			return value.remove(value.size() - 1) * num;
    		} else
    			return value.remove(value.size() - 1) / num;
    
    	}
        private static int compare(String a, String b) {// 值为1入栈
    		// TODO Auto-generated method stub
    		if (a.equals(b) || (a.equals("+") && b.equals("-"))
    				|| (a.equals("-") && b.equals("+"))
    				|| (a.equals("*") && b.equals("/"))
    				|| (a.equals("/") && b.equals("*"))) {
    			return 0;
    		} else if (b.equals("(")) {
    			return 1;
    		} else if ((a.equals("*") || a.equals("/") && !b.equals("("))) {
    			return 1;
    		} else if ((a.equals("*") || a.equals("/"))
    				&& (b.equals("+") || b.equals("-"))) {
    			return 1;
    		} else if (a.equals("^")
    				&& (b.equals("+") || b.equals("-") || b.equals("*") || b
    						.equals("/"))) {
    			return 1;
    		} else {
    			return 0;
    		}
    	}
    


    4、自己负责模块或任务详细说明

    计算函数:加减乘除还有幂方直接进行栈顶和当前数值的计算;三角函数则只需要将符号和一个数值弹出并计算。
    
    比较函数:同级之间的运算符直接进行计算,因此返回0;
              左括号一定入栈;
       		 符号栈中左括号出现在乘除要将符号入栈,返回1。
    

    5、课程设计感想

    1、需要考虑的情况太多,还要分别考虑三角函数与平方立方的运算符
    2、Math函数的原因导致后面结果会出现**.99999999这样的情况,需要格式化;
    3、还有欠缺考虑的是三角函数后面紧跟括号的情况,会继续改进。
    
  • 相关阅读:
    高级选项更改MathType数学公式样式
    tp 批量转码
    create the web service by yourshelf
    云通讯 添加群组
    sql 更新字段
    op bug 修复计划
    php ut8声明
    PHP 包含文件
    php 判断查询结果是否为空
    合并列值
  • 原文地址:https://www.cnblogs.com/201521123065hyw/p/7066862.html
Copyright © 2011-2022 走看看