private double pareseMulOrDiv() throws Exception {
        char op; //运算符
        double result; //结果
        double partialResult; //子表达式结果
        //用指数运算计算当前子表达式的值
        result = this.parseExponent();
        //如果当前标记的第一个字母是乘、除或者取模运算，则继续进行乘除法运算
        while ((op = this.token.charAt(0)) == '*' || op == '/' || op == '%') {
            this.getToken(); //取下一标记
            //用指数运算计算当前子表达式的值
            partialResult = this.parseExponent();
            switch (op) {
                case '*':
                    //如果是乘法，则用已处理子表达式的值乘以当前子表达式的值
                    result = result * partialResult;
                    break;
                case '/':
                    //如果是除法，判断当前字表达式的值是否为0，如果为0，则抛出被0除异常
                    if (partialResult == 0.0) {
                        this.handleError(DIVBYZERO_ERROR);
                    }
                    //除数不为0，则进行除法运算
                    result = result / partialResult;
                    break;
                case '%':
                    //如果是取模运算，也要判断当前子表达式的值是否为0
                    if (partialResult == 0.0) {
                        this.handleError(DIVBYZERO_ERROR);
                    }
                    result = result % partialResult;
                    break;
            }
        }
        return result;
    }