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

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

?? expressionanalyze.java

?? 一個(gè)關(guān)于公式分析得java小程序
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
							break;
						}
						
					}
				if(!findThird)
					throw new Exception ("there are not so much variables,the value '"
											+ value3 + "' is not needed");
		}
		//以下是表達(dá)式求值的算符優(yōu)先算法。公式以"#"做結(jié)束符。
		//設(shè)optr和opnd分別為運(yùn)算符棧和操作數(shù)棧
		Stack optr = new Stack(); //存儲(chǔ)操作符的棧
		Stack opnd = new Stack();	//存儲(chǔ)操作數(shù)的棧
		optr.push("#");
		current = elemList;
		while(!(current.data.equals("#") && optr.top().equals("#"))){
			//如果不是運(yùn)算符,則直接入操作數(shù)棧
			if(!current.isOperator){
				opnd.push(current.data);
				current = current.next;
			}
			else{
				int indexOfFirst = 0,indexOfLast = 0;
				boolean flagOfFirst = false,flagOfLast = false;
				for(int i = 0;i < keywords.length;i++){
					if(optr.top().equals(keywords[i])){
						indexOfLast = i;
						flagOfLast = true;
					}
					if(current.data.equals(keywords[i])){
						indexOfFirst = i;
						flagOfFirst = true;
					}
					if(flagOfLast && flagOfFirst)
						break;
				}
				if(!flagOfLast)
					throw new Exception ("the operator '" + optr.top() 
											+ "' is not supported");
				if(!flagOfFirst)
					throw new Exception ("the operator '" + current.data 
											+ "' is not supported");
				flagOfLast = false;
				flagOfFirst = false;
				switch(PRI[indexOfLast][indexOfFirst]){
					case '<' ://棧頂元素優(yōu)先級(jí)低
						optr.push(current.data);
						current = current.next;
						break;
					case '=' ://脫括弧、計(jì)算單目運(yùn)算并接受下一個(gè)字符串
						optr.pop();
						current = current.next;
						boolean isOptr = false;
						for(int i = 0;i < keywords.length;i++)
							if(optr.top().equals(keywords[i])){
								if(keywords[i].length() > 1)	
									isOptr = true;
								break;
							}
						if(!isOptr)
							break;
						isOptr = false;
						//強(qiáng)制類型轉(zhuǎn)換,若轉(zhuǎn)換不成功則說(shuō)明是變量
						try {
							firstDouTemp = Double.parseDouble(opnd.top());
						}
						catch (NumberFormatException e){
							if(opnd.top().equals(firstStr))
								firstDouTemp = firstDou;
							else if(opnd.top().equals(secondStr))
								firstDouTemp = secondDou;
							else if(opnd.top().equals(thirdStr))
								firstDouTemp = thirdDou;
							else
								throw new Exception ("the value of '" + opnd.top() 
														+ "' is not found");
						}
						opnd.pop();
						if(optr.top().equals("abs"))
							opnd.push(new Double(Math.abs(firstDouTemp)).toString());
						else if(optr.top().equals("acos")){
							if(Math.abs(firstDouTemp) > 1)
								throw new Exception("the absolute value of the argument '" 
								+ firstDouTemp + "' that 'acos' takes is greater than 1");
							opnd.push(new Double(Math.acos(firstDouTemp)).toString());
						}
						else if(optr.top().equals("asin")){
							if(Math.abs(firstDouTemp) > 1)
								throw new Exception("the absolute value of the argument '" 
								+ firstDouTemp + "' that 'asin' takes is greater than 1");
							opnd.push(new Double(Math.asin(firstDouTemp)).toString());
						}
						else if(optr.top().equals("atan"))
							opnd.push(new Double(Math.atan(firstDouTemp)).toString());
						else if(optr.top().equals("cbrt"))
							opnd.push(new Double(Math.cbrt(firstDouTemp)).toString());
						else if(optr.top().equals("cos"))
							opnd.push(new Double(Math.cos(firstDouTemp)).toString());
						else if(optr.top().equals("cosh"))
							opnd.push(new Double(Math.cosh(firstDouTemp)).toString());
						else if(optr.top().equals("ceil"))
							opnd.push(new Double(Math.ceil(firstDouTemp)).toString());
						else if(optr.top().equals("exp"))
							opnd.push(new Double(Math.exp(firstDouTemp)).toString());
						else if(optr.top().equals("expm1"))
							opnd.push(new Double(Math.expm1(firstDouTemp)).toString());
						else if(optr.top().equals("floor"))
							opnd.push(new Double(Math.floor(firstDouTemp)).toString());
						else if(optr.top().equals("log")){
							if(firstDouTemp < 0)
								throw new Exception("the argument '" + firstDouTemp 
									+ "' that 'log' takes is less than zero");
							opnd.push(new Double(Math.log(firstDouTemp)).toString());
						}
						else if(optr.top().equals("log10")){
							if(firstDouTemp < 0)
								throw new Exception("the argument '" + firstDouTemp 
									+ "' that 'log10' takes is less than zero");
							opnd.push(new Double(Math.log10(firstDouTemp)).toString());
						}
						else if(optr.top().equals("log1p")){
							if(firstDouTemp < -1)
								throw new Exception("the argument '" + firstDouTemp 
									+ "' that 'log1p' takes is less than -1");
							opnd.push(new Double(Math.log1p(firstDouTemp)).toString());
						}
						else if(optr.top().equals("rint"))
							opnd.push(new Double(Math.rint(firstDouTemp)).toString());
						else if(optr.top().equals("round"))
							opnd.push(new Double(Math.round(firstDouTemp)).toString());
						else if(optr.top().equals("signum"))
							opnd.push(new Double(Math.signum(firstDouTemp)).toString());
						else if(optr.top().equals("sin"))
							opnd.push(new Double(Math.sin(firstDouTemp)).toString());
						else if(optr.top().equals("sinh"))
							opnd.push(new Double(Math.sinh(firstDouTemp)).toString());
						else if(optr.top().equals("sqrt")){
							if(firstDouTemp < 0)
								throw new Exception("the argument '" + firstDouTemp 
									+ "' that 'sqrt' takes is less than zero");
							opnd.push(new Double(Math.sqrt(firstDouTemp)).toString());
						}
						else if(optr.top().equals("tan"))
							opnd.push(new Double(Math.tan(firstDouTemp)).toString());
						else if(optr.top().equals("tanh"))
							opnd.push(new Double(Math.tanh(firstDouTemp)).toString());
						else if(optr.top().equals("toDegrees"))
							opnd.push(new Double(Math.toDegrees(firstDouTemp)).toString());
						else if(optr.top().equals("toRadians"))
							opnd.push(new Double(Math.toRadians(firstDouTemp)).toString());
						else 
							throw new Exception ("the operator '" + optr.top() 
													+ "' is not supported");	
						optr.pop();
						break;
					case '@' ://表達(dá)式輸入有誤
						throw new Exception ("the operators '" + keywords[indexOfLast] 
												+ "' and '" + keywords[indexOfFirst] 
												+ "' are not matched");
					case '>' ://站定元素優(yōu)先級(jí)高、計(jì)算雙目運(yùn)算
						//強(qiáng)制類型轉(zhuǎn)換,若轉(zhuǎn)換不成功則說(shuō)明是變量
						try {
							secondDouTemp = Double.parseDouble(opnd.top());
						}
						catch (NumberFormatException e){
							if(opnd.top().equals(firstStr))
								secondDouTemp = firstDou;
							else if(opnd.top().equals(secondStr))
								secondDouTemp = secondDou;
							else if(opnd.top().equals(thirdStr))
								firstDouTemp = thirdDou;
							else
								throw new Exception ("the value of '" + opnd.top() 
														+ "' is not found");
						}
						opnd.pop();
						//強(qiáng)制類型轉(zhuǎn)換,若轉(zhuǎn)換不成功則說(shuō)明是變量
						try {
							firstDouTemp = Double.parseDouble(opnd.top());
						}
						catch (NumberFormatException e){
							if(opnd.top().equals(firstStr))
								firstDouTemp = firstDou;
							else if(opnd.top().equals(secondStr))
								firstDouTemp = secondDou;
							else if(opnd.top().equals(thirdStr))
								firstDouTemp = thirdDou;
							else
								throw new Exception ("the value of '" + opnd.top() 
														+ "' is not found");
						}
						opnd.pop();
						if(optr.top().equals("+")){
							opnd.push(new Double(firstDouTemp + secondDouTemp).toString());	
						}
						else if(optr.top().equals("-")){
							opnd.push(new Double(firstDouTemp - secondDouTemp).toString());	
						}
						else if(optr.top().equals("*")){
							opnd.push(new Double(firstDouTemp * secondDouTemp).toString());	
						}
						else if(optr.top().equals("/")){
							if(secondDouTemp == 0)
								throw new Exception ("the second argument that '/' takes is 0");
							opnd.push(new Double(firstDouTemp / secondDouTemp).toString());	
						}
						else if(optr.top().equals("%")){
							if(secondDouTemp == 0)
								throw new Exception ("the second argument that '%' takes is 0");
							opnd.push(new Double(firstDouTemp % secondDouTemp).toString());	
						}
						else 
							throw new Exception ("the operator '" + optr.top() 
													+ "' is not supported");
						optr.pop();
						break;
				}
			}
		}
		result = Double.parseDouble(opnd.pop());
	}
	public Double getResult(){
		return result;
	}
	private String firstStr;//存儲(chǔ)公式中第一個(gè)變量的表達(dá)式
	private String secondStr;//存儲(chǔ)公式中第二個(gè)變量的表達(dá)式
	private String thirdStr;//存儲(chǔ)公式中第三個(gè)變量的表達(dá)式
	private double firstDou;//存儲(chǔ)公式中第一個(gè)變量的值
	private double secondDou;//存儲(chǔ)公式中第二個(gè)變量的值
	private double thirdDou;//存儲(chǔ)公式中第三個(gè)變量的值
	private double value1;//從構(gòu)造函數(shù)接收過(guò)來(lái)的第一個(gè)變量得值
	private double value2;//從構(gòu)造函數(shù)接收過(guò)來(lái)的第二個(gè)變量得值
	private double value3;//從構(gòu)造函數(shù)接收過(guò)來(lái)的第三個(gè)變量得值
	
	private double firstDouTemp;//存儲(chǔ)每次計(jì)算的第一個(gè)臨時(shí)變量
	private double secondDouTemp;//存儲(chǔ)每次計(jì)算的第二個(gè)變量
	private ElemList elemList = null;//鏈表頭
	private ElemList current = null;//鏈表當(dāng)前指針
	private int numOfParameter;	//公式中變量的個(gè)數(shù)
	private String expr;//存儲(chǔ)公式
	private double result;//最終的計(jì)算結(jié)果
	//運(yùn)算符
	private static final String [] keywords = 
	{
		"+","-","*","/","(",")","%","abs","acos","asin","atan","cbrt","ceil",
		"cos","cosh","exp","expm1","floor","log","log10","log1p","rint","round",
		"signum","sin","sinh","sqrt","tan","tanh","toDegrees","toRadians","#"	
	};
	//運(yùn)算符優(yōu)先級(jí)
	private static final char [] [] PRI =
	{		// +   -   *   /   (   )   %  abs acos asin atan cbrt ceil cos cosh exp expm1 floor log log10 log1p rint round signum sin sigh sprt tan tanh toDegrees toRadians #
   /*   +  */{'>','>','<','<','<','>','<','<', '<', '<','<', '<', '<', '<','<', '<','<',  '<',  '<','<',  '<',  '<', '<',  '<',   '<','<', '<', '<','<',   '<',      '<',   '>'},
   /*   -  */{'>','>','<','<','<','>','<','<', '<', '<','<', '<', '<', '<','<', '<','<',  '<',  '<','<',  '<',  '<', '<',  '<',   '<','<', '<', '<','<',   '<',      '<',   '>'},
   /*   *  */{'>','>','>','>','<','>','<','<', '<', '<','<', '<', '<', '<','<', '<','<',  '<',  '<','<',  '<',  '<', '<',  '<',   '<','<', '<', '<','<',   '<',      '<',   '>'},
   /*   /  */{'>','>','>','>','<','>','<','<', '<', '<','<', '<', '<', '<','<', '<','<',  '<',  '<','<',  '<',  '<', '<',  '<',   '<','<', '<', '<','<',   '<',      '<',   '>'},
   /*   (  */{'<','<','<','<','<','=','<','<', '<', '<','<', '<', '<', '<','<', '<','<',  '<',  '<','<',  '<',  '<', '<',  '<',   '<','<', '<', '<','<',   '<',      '<',   '@'},
   /*   )  */{'>','>','>','>','@','>','>','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '>'},
   /*   %  */{'>','>','>','>','<','>','<','<', '<', '<','<', '<', '<', '<','<', '<','<',  '<',  '<','<',  '<',  '<', '<',  '<',   '<','<', '<', '<','<',   '<',      '<',   '>'},
   /*  abs */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* acos */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* asin */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* cbrt */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* ceil */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* acos */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  cos */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  cos */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  exp */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* expm1*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* floor*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  log */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* log10*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* log1p*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  rint*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* round*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*signum*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  sin */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /* sinh */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  sprt*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  tan */{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*  tanh*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
/*toDegrees*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
/*toRadians*/{'@','@','@','@','<','@','@','@', '@', '@','@', '@', '@', '@','@', '@','@',  '@',  '@','@',  '@',  '@', '@',  '@',   '@','@', '@', '@','@',   '@',      '@',   '@'},
   /*   #  */{'<','<','<','<','<','@','<','<', '<', '<','<', '<', '<', '<','<', '<','<',  '<',  '<','<',  '<',  '<', '<',  '<',   '<','<', '<', '<','<',   '<',      '<',   '='}
	};
}

//將公式中關(guān)鍵字和其他量分開(kāi)存放的鏈?zhǔn)浇Y(jié)構(gòu)
class ElemList {
	ElemList (String value) {
		data = value;	
	}	
	ElemList next;
	String data;
	boolean isOperator;
}

//Stack類中用到的鏈?zhǔn)浇Y(jié)構(gòu)
class ListElement {
	ListElement (String value){
		data = value;
	}
	ListElement next;
	String data;	
}

//--棧類
class Stack{
	//返回棧頂元素的data域
	public String top(){
		if(top != null)
			return top.data;
		else
			return null;	
	}	
	//將新元素壓入棧
	public void push(String value){
		if(top == null)
			top = new ListElement(value);	
		else{
			ListElement temp = new ListElement(value);
			temp.next = top;
			top = temp;	
		}
	}
	//彈出棧頂元素并返回其data域
	public String pop(){
		String result = top();
		if(top != null)
			top = top.next;
		return result;	
	}
	//判斷棧是否為空
	public boolean empty(){
		return top == null;	
	}
	private ListElement top = null;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品18久久久久久久网站| 亚洲乱码国产乱码精品精的特点 | 国产精品女主播av| 91久久线看在观草草青青| 久久精品国产色蜜蜜麻豆| 亚洲女厕所小便bbb| 久久综合九色综合97婷婷| 色屁屁一区二区| 韩国一区二区三区| 亚洲成av人**亚洲成av**| 国产精品欧美极品| 精品国产一区二区三区忘忧草| 97se狠狠狠综合亚洲狠狠| 精品中文字幕一区二区| 亚洲成人先锋电影| 中文字幕欧美一| 久久婷婷综合激情| 91麻豆精品国产91久久久资源速度| 99免费精品在线| 国产精品一区二区在线看| 青娱乐精品视频在线| 亚洲一区免费视频| 中文字幕一区二区5566日韩| 精品99一区二区三区| 欧美精品日韩精品| 欧美影院午夜播放| 欧美午夜免费电影| 91久久人澡人人添人人爽欧美| kk眼镜猥琐国模调教系列一区二区| 久久99精品一区二区三区| 一区二区三区四区精品在线视频| 久久精品国产亚洲aⅴ| 偷拍一区二区三区四区| 亚洲国产精品麻豆| 亚洲午夜av在线| 亚洲国产视频在线| 亚洲狠狠爱一区二区三区| 亚洲综合在线电影| 亚洲一区二区三区激情| 亚洲一区二区在线播放相泽 | 日韩和欧美的一区| 五月天激情综合网| 午夜不卡av在线| 全国精品久久少妇| 久久 天天综合| 国产一区二区三区国产| 国产麻豆精品在线观看| 国产成人综合在线播放| 国产大片一区二区| av在线一区二区| 91麻豆国产福利在线观看| 91国偷自产一区二区使用方法| 色猫猫国产区一区二在线视频| 色综合咪咪久久| 欧美日本国产视频| 在线播放视频一区| 日韩精品一区二区三区中文不卡 | 99在线精品视频| 国产福利一区二区三区视频在线| 国产一区二区三区在线观看精品| 国产成人自拍网| bt欧美亚洲午夜电影天堂| 99久久精品国产网站| 国产风韵犹存在线视精品| av午夜一区麻豆| 欧美日韩国产精选| 欧美成人官网二区| 亚洲图片激情小说| 天天免费综合色| 国产高清在线精品| 91尤物视频在线观看| 欧美日韩视频在线一区二区| 日韩一卡二卡三卡四卡| 亚洲国产电影在线观看| 国产精品毛片久久久久久久| 中文字幕综合网| 亚洲 欧美综合在线网络| 韩国三级在线一区| 99久久精品一区二区| 在线电影一区二区三区| 久久久久成人黄色影片| 亚洲一区二区三区美女| 国产麻豆成人精品| 在线中文字幕一区| 久久一留热品黄| 亚洲午夜在线观看视频在线| 国产综合成人久久大片91| av亚洲精华国产精华精华| 欧美精品在线视频| 中文字幕欧美区| 日韩精品电影一区亚洲| 白白色 亚洲乱淫| 日韩一区二区免费视频| 自拍偷自拍亚洲精品播放| 美女视频黄久久| 91丨九色丨蝌蚪富婆spa| 日韩一区二区精品在线观看| 亚洲欧美日韩中文播放| 久久99精品久久久| 欧美怡红院视频| 国产精品久久久久久久久久免费看 | 538prom精品视频线放| 国产人成亚洲第一网站在线播放| 亚洲成人在线免费| 成人av一区二区三区| 欧美一级在线观看| 一区二区三区中文字幕电影 | 久久精品免费观看| 91麻豆高清视频| 国产精品丝袜91| 激情文学综合网| 欧美精品免费视频| 亚洲精品中文在线| 懂色av噜噜一区二区三区av| 日韩女优av电影| 午夜激情综合网| 欧美色图12p| 亚洲少妇中出一区| 亚洲天堂网中文字| 美国十次综合导航| 欧美精三区欧美精三区| 亚洲成人av中文| 91国偷自产一区二区三区成为亚洲经典| 国产女人18水真多18精品一级做| 蜜臀a∨国产成人精品| 欧美日韩国产首页| 夜夜嗨av一区二区三区中文字幕| 不卡一区中文字幕| 欧美国产乱子伦 | 国产麻豆日韩欧美久久| xfplay精品久久| 久久国产精品露脸对白| 欧美电影精品一区二区| 欧美a一区二区| 日韩一级片网址| 日本v片在线高清不卡在线观看| 欧美日韩成人高清| 午夜国产不卡在线观看视频| 欧美男生操女生| 青青国产91久久久久久 | 欧美一区二区性放荡片| 午夜免费欧美电影| 欧美久久久久中文字幕| 亚洲成av人片一区二区| 在线观看91av| 精久久久久久久久久久| 日韩精品中文字幕一区二区三区 | 不卡的av中国片| 中文字幕不卡三区| 91美女蜜桃在线| 亚洲国产综合视频在线观看| 欧美精品vⅰdeose4hd| 蜜臀久久99精品久久久画质超高清| 欧美精品一级二级| 久久99精品久久只有精品| 久久精品一级爱片| voyeur盗摄精品| 亚洲永久精品大片| 日韩一区二区三区四区五区六区| 国产美女在线精品| 中文字幕视频一区| 欧美性xxxxxxxx| 久久国产精品99久久久久久老狼| 久久婷婷国产综合精品青草| 成a人片亚洲日本久久| 亚洲小说春色综合另类电影| 欧美日韩一级片在线观看| 久久99精品国产麻豆婷婷| 欧美国产1区2区| 欧亚一区二区三区| 亚洲自拍偷拍麻豆| 日韩精品一区二区三区四区视频| 国产精品一区二区视频| 亚洲免费资源在线播放| 在线电影院国产精品| 大尺度一区二区| 天天亚洲美女在线视频| 国产欧美日韩不卡| caoporn国产精品| 亚洲另类春色国产| 欧美电影免费观看高清完整版在线 | 在线视频国产一区| 麻豆免费精品视频| 中文字幕一区在线观看视频| 宅男噜噜噜66一区二区66| 国产成人免费视频网站| 亚洲一区在线观看免费 | 国产99一区视频免费| 午夜精品在线看| 国产精品欧美极品| 日韩一区二区三区av| 91理论电影在线观看| 久久精品国产77777蜜臀| 亚洲女同女同女同女同女同69| 日韩欧美国产一区二区三区| 一本大道av伊人久久综合| 国产一区二区调教| 天堂资源在线中文精品| 中文字幕色av一区二区三区| 精品福利一区二区三区|