亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? parser.java

?? Java編寫的表達(dá)式計(jì)算器, 即可以像我們書寫表達(dá)式那樣直接輸入計(jì)算表達(dá)式, 程序自動(dòng)進(jìn)行運(yùn)算, 支持加減乘除冪運(yùn)算以及判斷表達(dá)式如A?B C, 程序包含完整的Document和測試運(yùn)行環(huán)境
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
                TypeMismatchedException
        {
            boolean already = false;
            Token r = stack.remove(stack.size()-1);
            if(!r.toString().equals(")"))throw new MissingRightParenthesisException();
            int i,j,l = stack.size()-1;
            for(i = l;i > -1;i--)
            {
                if(stack.get(i).toString().equals("(") && !already)
                {    
                        already = true;
                        stack.remove(i);
                        if(i > 0)
                        {
                            Token temp = stack.get(i-1);
                            if(temp.getType().equals("Function"))
                            {
                                j = i;
                                if(temp.toString().equalsIgnoreCase("max"))
                                {   
                                    double maxn;
                                    if((stack.size()-j) == 1) throw new MissingOperandException();
                                    if(j >= stack.size()) throw new MissingOperandException();
                                    Token ttt = stack.remove(j);
                                    if(!ttt.getType().equals("Decimal")){
                                        if(ttt.getType().equals("Operator"))throw new MissingOperandException();
                                        else throw new TypeMismatchedException();
                                    }
                                    DecimalToken tt = (DecimalToken) ttt;
                                    maxn = tt.getResult();
                                    for(j = i;j < l-1;j += 2)
                                    {
                                        Token td = stack.remove(i);
                                        if(!td.toString().equals(",")) throw new FunctionCallException();
                                        ttt = stack.remove(i);
                                        if(!ttt.getType().equals("Decimal")){
                                        if(ttt.getType().equals("Operator"))throw new MissingOperandException();
                                        else throw new TypeMismatchedException();
                                    }
                                        tt = (DecimalToken) ttt;
                                        if(maxn < tt.getResult())
                                            maxn = tt.getResult();
                                    }
                                    stack.remove(i-1);
                                    return maxn;
                                }
                                else if(temp.toString().equalsIgnoreCase("min"))
                                {   
                                    double minn;
                                    if((stack.size()-j) == 1) throw new MissingOperandException();
                                    if(j >= stack.size()) throw new MissingOperandException();
                                    Token ttt = stack.remove(j);
                                    if(!ttt.getType().equals("Decimal")){
                                        if(ttt.getType().equals("Operator"))throw new MissingOperandException();
                                        else throw new TypeMismatchedException();
                                    }
                                    DecimalToken tt = (DecimalToken) ttt;
                                    minn = tt.getResult();
                                    for(j = i;j < l-1;j += 2)
                                    {
                                        Token td = stack.remove(i);
                                        if(!td.toString().equals(",")) throw new FunctionCallException();
                                        ttt = stack.remove(i);
                                        if(!ttt.getType().equals("Decimal")){
                                            if(ttt.getType().equals("Operator"))throw new MissingOperandException();
                                            else throw new TypeMismatchedException();
                                        }
                                        tt = (DecimalToken) ttt;
                                        if(minn > tt.getResult())
                                            minn = tt.getResult();
                                    }
                                    stack.remove(i-1);
                                    return minn;
                                }
                                else if(temp.toString().equalsIgnoreCase("sin"))
                                {   
                                    if((stack.size()-i) != 1) throw new FunctionCallException();
                                    if(i >= stack.size()) throw new MissingOperandException();
                                    Token ttt = stack.remove(i);
                                    if(!ttt.getType().equals("Decimal")){
                                        if(ttt.getType().equals("Operator"))throw new MissingOperandException();
                                        else throw new TypeMismatchedException();
                                    }
                                    DecimalToken tt = (DecimalToken) ttt;
                                    stack.remove(i-1);
                                    return Math.sin(tt.getResult());
                                }
                                else if(temp.toString().equalsIgnoreCase("cos"))
                                {   
                                    if((stack.size()-i) != 1) throw new FunctionCallException();
                                    if(i >= stack.size()) throw new MissingOperandException();
                                    Token ttt = stack.remove(i);
                                    if(!ttt.getType().equals("Decimal")){
                                        if(ttt.getType().equals("Operator"))throw new MissingOperandException();
                                        else throw new TypeMismatchedException();
                                    }
                                    DecimalToken tt = (DecimalToken) ttt;
                                    stack.remove(i-1);
                                    return Math.cos(tt.getResult());
                                }
                            }
                        }
                }
            }
            if(i == -1 && !already) throw new MissingLeftParenthesisException();
            return 2;
        }
        /**
         * 規(guī)約負(fù)號操作
         * @return 運(yùn)算結(jié)果
         * @throws exceptions.MissingOperandException 缺少操作量異常
         * @throws exceptions.MissingOperatorException 缺少操作符異常
         * @throws exceptions.TypeMismatchedException 類型不匹配異常
         */
        double neg() throws 
                MissingOperandException,
                MissingOperatorException,
                TypeMismatchedException
        {
                double r = 0;
		Token test = stack.remove(stack.size()-1);
		if(test.type.equals("Decimal"))
		{	
			DecimalToken d = (DecimalToken)test;	
			r = 0 - d.getResult();
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
                if(!stack.remove(stack.size()-1).getType().equals("Operator"))throw new MissingOperatorException();
                return r;
        }
        /**
         * 規(guī)約非關(guān)系操作
         * @return 運(yùn)算結(jié)果
         * @throws exceptions.MissingOperandException 缺少操作量異常
         * @throws exceptions.MissingOperatorException 缺少操作符異常
         * @throws exceptions.TypeMismatchedException 類型不匹配異常
         */
        String not() throws
                MissingOperatorException,
                MissingOperandException,
                TypeMismatchedException
        {
                String r = "";
		Token test = stack.remove(stack.size()-1);
		if(test.type.equals("Boolean"))
		{	
			BooleanToken d = (BooleanToken)test;	
			if(d.getValue())
                            r = "false";
                        else 
                            r = "true";
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
                if(!stack.remove(stack.size()-1).getType().equals("Operator"))throw new MissingOperatorException();
                return r;
        }
        /**
         * 規(guī)約與或非運(yùn)算操作
         * @return 運(yùn)算結(jié)果
         * @throws exceptions.MissingOperandException 缺少操作量異常
         * @throws exceptions.MissingOperatorException 缺少操作符異常
         * @throws exceptions.TypeMismatchedException 類型不匹配異常
         */
        String realation() throws
                MissingOperatorException,
                MissingOperandException,
                TypeMismatchedException
        {
                BooleanToken r,l;
		Token test = stack.remove(stack.size()-1);
		if(test.type.equals("Boolean"))
		{	
			r = (BooleanToken)test;	
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
                Token temp = stack.remove(stack.size()-1);
                if(!temp.getType().equals("Operator"))throw new MissingOperatorException();
                test = stack.remove(stack.size()-1);
		if(test.type.equals("Boolean"))
		{	
			l = (BooleanToken)test;
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
                if(temp.getToken().equals("|"))
                {
                    if(r.getValue() || l.getValue()) return "true";
                    else return "false";
                }                    
                else if(temp.getToken().equals("&"))
                {
                    if(r.getValue() && l.getValue()) return "true";
                    else return "false";
                }     
                return "";
        }
        /**
         * 規(guī)約關(guān)系運(yùn)算操作
         * @return 運(yùn)算結(jié)果
         * @throws exceptions.DividedByZeroException 除數(shù)為0異常
         * @throws exceptions.MissingOperandException 缺少操作量異常
         * @throws exceptions.MissingOperatorException 缺少操作符異常
         * @throws exceptions.TypeMismatchedException 類型不匹配異常
         */
        String cmp() throws
                MissingOperandException,
                DividedByZeroException,
                MissingOperatorException,
                TypeMismatchedException
        {
                double r = 0,l = 0;
		Token test = stack.remove(stack.size()-1);
		if(test.type.equals("Decimal"))
		{	
			DecimalToken right = (DecimalToken)test;	
			r = right.getResult();
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
		Token temp = stack.remove(stack.size()-1);
		test = stack.remove(stack.size()-1);
		if(test.type.equals("Decimal"))
		{
			DecimalToken left = (DecimalToken)test;
			l = left.getResult();
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
                if(!temp.getType().equals("Operator"))throw new MissingOperatorException();
                if(temp.toString().equals(">"))
                {
                    if(l>r) return "true";
                    else return "false";
                }
                else if(temp.toString().equals("<"))
                {
                    if(l<r) return "true";
                    else return "false";
                }
                else if(temp.toString().equals(">="))
                {
                    if(l>=r) return "true";
                    else return "false";
                }
                else if(temp.toString().equals("<="))
                {
                    if(l<=r) return "true";
                    else return "false";
                }
                else if(temp.toString().equals("<>"))
                {
                    if(l!=r) return "true";
                    else return "false";
                }
                return "";
        }
        /**
         * 規(guī)約三元運(yùn)算操作
         * @return 運(yùn)算結(jié)果
         * @throws exceptions.TrinaryOperationException 三元運(yùn)算異常
         * @throws exceptions.MissingOperandException 缺少操作量異常
         * @throws exceptions.MissingOperatorException 缺少操作符異常
         * @throws exceptions.TypeMismatchedException 類型不匹配異常
         */
        double trinary() throws
                TrinaryOperationException,
                MissingOperandException,
                TypeMismatchedException,
                MissingOperatorException
        {
                double r = 0,l = 0;
		Token test = stack.remove(stack.size()-1);
		if(test.type.equals("Decimal"))
		{	
			DecimalToken right = (DecimalToken)test;	
			r = right.getResult();
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
		Token temp = stack.remove(stack.size()-1);
                if(!temp.toString().equals(":"))throw new TrinaryOperationException();
		test = stack.remove(stack.size()-1);
		if(test.type.equals("Decimal"))
		{
			DecimalToken left = (DecimalToken)test;
			l = left.getResult();
		}else if(test.getType().equals("Operator"))throw new MissingOperandException();
                else throw new TypeMismatchedException();
                temp = stack.remove(stack.size()-1);
                if(!temp.toString().equals("?"))throw new TrinaryOperationException();
                test = stack.remove(stack.size()-1);
                if(!test.getType().equals("Boolean"))throw new TypeMismatchedException();
                BooleanToken boole = (BooleanToken)test;
                if(boole.getValue())return l;
                else return r;
        }
        
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品99久久久久久似苏梦涵 | 欧美性videosxxxxx| 国产欧美日韩精品一区| 972aa.com艺术欧美| 五月开心婷婷久久| 7777女厕盗摄久久久| 日韩免费电影一区| 91麻豆.com| 国产sm精品调教视频网站| 午夜欧美电影在线观看| 中文字幕一区二区在线观看| 日韩欧美的一区| 在线观看国产日韩| 国产精品一区在线观看你懂的| 日韩国产在线一| 日韩亚洲欧美一区二区三区| 在线播放/欧美激情| 精品少妇一区二区三区免费观看| 午夜不卡在线视频| 亚洲视频免费看| 国产欧美精品区一区二区三区| 亚洲欧美日韩精品久久久久| www.99精品| 中文字幕一区二区三区视频| 国产精品久久久久毛片软件| 在线观看一区日韩| 久久众筹精品私拍模特| 亚洲精品在线观看网站| 久久精品男人的天堂| 国产精品久久久久久久蜜臀| 日韩精品中文字幕在线一区| 欧美视频一区二区三区四区| 色综合久久久网| 91丨porny丨国产| 91在线视频观看| 欧洲精品在线观看| 欧美一区二区视频免费观看| 欧美日韩国产高清一区二区| 欧洲视频一区二区| 欧美嫩在线观看| 欧美成人国产一区二区| 亚洲精品在线观| 中文字幕制服丝袜一区二区三区| 国产精品视频一二三区| 亚洲精品中文在线影院| 一区二区三区在线影院| 亚洲第一在线综合网站| 久久99精品久久久久久动态图| 91官网在线观看| 欧美一区二区视频在线观看2022| 亚洲精品一区二区三区香蕉| 久久一日本道色综合| 亚洲国产经典视频| 日本欧美肥老太交大片| jizz一区二区| 国产欧美日韩在线视频| 欧美精品一区二区三区很污很色的| 91久久奴性调教| 日韩女优av电影| 亚洲成av人片一区二区梦乃| 欧美日韩日日夜夜| 色婷婷精品久久二区二区蜜臀av | 久久女同精品一区二区| 亚洲男人都懂的| 美女视频黄免费的久久| 91蜜桃网址入口| 精品99一区二区三区| 国产精品一区二区男女羞羞无遮挡 | 国产精品青草综合久久久久99| 综合久久国产九一剧情麻豆| 日韩一区中文字幕| 裸体一区二区三区| 在线视频你懂得一区| 国产亚洲欧美激情| 男男成人高潮片免费网站| youjizz国产精品| 中文av一区特黄| 岛国一区二区三区| 久久综合九色欧美综合狠狠 | 国产精品每日更新在线播放网址| 欧洲av一区二区嗯嗯嗯啊| 日韩精品一区二区三区中文精品| 亚洲国产综合视频在线观看| 波多野洁衣一区| 亚洲欧美区自拍先锋| 99精品视频一区| 五月激情综合婷婷| 欧美日韩一区二区在线观看视频 | 欧美日韩久久久一区| 欧美精品欧美精品系列| 亚洲欧美日韩国产综合在线| 色综合久久久久久久久久久| 亚洲成av人影院在线观看网| 亚洲日本欧美天堂| 国产福利精品一区二区| 不卡一卡二卡三乱码免费网站| 精品久久一二三区| 日本伊人精品一区二区三区观看方式 | 视频一区二区不卡| 欧美羞羞免费网站| 亚洲欧美日韩久久精品| 91蜜桃网址入口| 美女视频黄频大全不卡视频在线播放| 欧美成人免费网站| 不卡在线视频中文字幕| 一区二区理论电影在线观看| 欧美日韩国产在线播放网站| 91麻豆精品久久久久蜜臀 | 久久综合色8888| 亚洲精品一区二区三区影院| 精品日韩成人av| 国产精品成人在线观看| 色88888久久久久久影院按摩| 国产精品拍天天在线| 国产91精品入口| 欧美—级在线免费片| 国产不卡在线一区| 欧美经典一区二区三区| 国产成人高清视频| 欧美国产乱子伦| jizzjizzjizz欧美| 一区二区三区小说| 欧美日韩一级二级| 免费成人小视频| 久久午夜羞羞影院免费观看| 懂色av中文一区二区三区| 国产精品女人毛片| 色综合久久中文综合久久97| 亚洲一区二区综合| 7777女厕盗摄久久久| 国模少妇一区二区三区| 国产精品视频你懂的| 色偷偷久久人人79超碰人人澡| 亚洲国产sm捆绑调教视频| 欧美日韩国产精选| 国产精品久99| 91黄色免费看| 人人爽香蕉精品| 国产日韩欧美一区二区三区乱码| 99久久久久久| 午夜精品成人在线| 久久亚洲欧美国产精品乐播| 不卡欧美aaaaa| 亚洲成人黄色影院| 久久色中文字幕| 91视视频在线观看入口直接观看www | 亚洲人成精品久久久久久| 欧美性大战久久久久久久蜜臀| 麻豆精品视频在线| 一区二区中文字幕在线| 在线不卡的av| 粉嫩久久99精品久久久久久夜 | 91视频免费播放| 日韩va亚洲va欧美va久久| 在线亚洲免费视频| 久久久久久久久蜜桃| 日本精品视频一区二区三区| 男女男精品网站| 亚洲色图.com| 欧美电影免费观看高清完整版 | 久久久久九九视频| 欧美亚洲国产怡红院影院| 国产一区二区日韩精品| 亚洲一区在线观看视频| 久久久久久久免费视频了| 欧美在线视频全部完| 国产一区不卡视频| 亚洲 欧美综合在线网络| 中文一区二区在线观看| 91精品国产欧美一区二区| 国产成人精品三级麻豆| 日本亚洲免费观看| 亚洲人成影院在线观看| 久久伊人中文字幕| 久久香蕉国产线看观看99| 国产精品18久久久久久久久久久久 | 成人蜜臀av电影| 日本vs亚洲vs韩国一区三区二区 | 一区二区成人在线视频| 日本视频在线一区| 91在线免费播放| 亚洲国产精品v| 久久av老司机精品网站导航| 色综合婷婷久久| 久久久久久久久一| 精品亚洲成av人在线观看| 91官网在线观看| 亚洲欧洲成人精品av97| 久久国产尿小便嘘嘘| 欧美精品vⅰdeose4hd| 中文字幕亚洲电影| 制服丝袜激情欧洲亚洲| 亚洲丝袜自拍清纯另类| 成人av在线影院| 欧美成人精品1314www| 亚洲成av人影院在线观看网| 日韩精品在线一区二区| 日本不卡高清视频| 亚洲另类一区二区| 精品欧美一区二区在线观看 |