有趣的if-else

根據昨天J48算法得到了這樣一顆決策樹:

afternoon <=9

|   mltsk <= 6

|   |  morning <= 6

|   |  |   night <= 4

|   |  |   |   mltsk <= 5: 2.0 (340.0)

|   |  |   |   mltsk > 5

|   |  |   |   |  night <= 1: 2.0 (18.0)

|   |  |   |   |  night > 1: 1.0 (3.0)

|   |  |   night > 4

|   |  |   |   morning <= 4

|   |  |   |   |  night <= 12: 2.0 (24.0/1.0)

|   |  |   |   |  night > 12: 3.0 (8.0/1.0)

|   |  |   |   morning > 4

|   |  |   |   |  afternoon <= 5: 2.0 (3.0/1.0)

|   |  |   |   |  afternoon > 5: 3.0 (7.0)

|   |  morning > 6

|   |  |   afternoon <= 5

|   |  |   |   morning <= 12: 2.0 (6.0)

|   |  |   |   morning > 12: 3.0 (2.0)

|   |  |   afternoon > 5

|   |  |   |   morning <= 7

|   |  |   |   |  afternoon <= 7: 2.0 (3.0/1.0)

|   |  |   |   |  afternoon > 7: 3.0 (6.0/1.0)

|   |  |   |   morning > 7: 3.0 (30.0)

|   mltsk > 6

|   |  morning <= 7: 1.0 (370.0/1.0)

|   |  morning > 7

|   |  |   night <= 1: 1.0 (8.0)

|   |  |   night > 1: 3.0 (4.0/1.0)

afternoon > 9

|   afternoon <= 21

|   |  morning <= 18

|   |  |   mltsk <= 5

|   |  |   |   afternoon <= 11

|   |  |   |   |  morning <= 6

|   |  |   |   |  |   night <= 5

|   |  |   |   |  |   |   morning <= 3: 2.0 (4.0)

|   |  |   |   |  |   |   morning > 3

|   |  |   |   |  |   |   |  night <= 1: 2.0 (4.0/1.0)

|   |  |   |   |  |   |   |  night > 1: 3.0 (9.0)

|   |  |   |   |  |   night > 5: 3.0 (12.0)

|   |  |   |   |  morning > 6: 3.0 (38.0)

|   |  |   |   afternoon > 11: 3.0 (145.0)

|   |  |   mltsk > 5

|   |   |  |   afternoon <= 13

|   |  |   |   |  morning <= 4

|   |  |   |   |  |   morning <= 2: 1.0 (7.0)

|   |  |   |   |  |   morning > 2

|   |  |   |   |  |   |   night <= 4: 1.0 (6.0/1.0)

|   |  |   |   |  |   |   night > 4: 3.0 (2.0)

|   |   |  |   |   morning > 4

|   |  |   |   |  |   mltsk <= 22: 3.0 (22.0/2.0)

|   |  |   |   |  |   mltsk > 22: 1.0 (3.0)

|   |  |   |   afternoon > 13: 3.0 (39.0)

|   |  morning > 18

|   |  |   afternoon <= 17: 3.0 (23.0)

|   |  |   afternoon > 17

|   |  |   |   night <= 14

|   |  |   |   |  morning <= 22: 3.0 (7.0)

|   |  |   |   |  morning > 22: 4.0 (6.0/1.0)

|   |  |   |   night > 14: 4.0 (13.0)

|   afternoon > 21

|   |  morning <= 14

|   |  |   afternoon <= 26: 3.0(27.0/1.0)

|   |  |   afternoon > 26

|   |  |   |   night <= 13

|   |  |   |   |  tj102 <= 1

|   |  |   |   |  |   afternoon <= 32: 3.0 (6.0)

|   |  |   |   |  |   afternoon > 32: 4.0 (2.0)

|   |  |   |   |  tj102 > 1: 4.0 (2.0)

|   |  |   |   night > 13: 4.0 (16.0)

|   |  morning > 14

|   |  |   afternoon <= 24

|   |  |   |   night <= 10

|   |  |   |   |  morning <= 24: 3.0 (10.0)

|   |  |   |   |  morning > 24: 4.0 (5.0)

|   |  |   |   night > 10: 4.0 (44.0/1.0)

|   |  |   afternoon > 24

|   |  |   |   night <= 5

|   |  |   |   |  morning <= 18: 3.0 (4.0/1.0)

|   |  |   |   |  morning > 18: 4.0 (20.0)

|   |  |   |   night > 5: 4.0 (292.0)

下面是根據決策樹寫的if-else語句:

public String divideRules(String dltsk,String mltsk,String tj102,
			String else2,String morning,String afternoon,String night){
		String belongs = "";
		if(Integer.parseInt(afternoon) <= 9){
			if(Integer.parseInt(mltsk)<= 6){
				if(Integer.parseInt(morning) <= 6){
					if(Integer.parseInt(night) <= 4){
						if(Integer.parseInt(mltsk)<= 5){
							belongs = "2.0";
						}else{
							if(Integer.parseInt(night) <= 1){
								belongs = "2.0";
							}else{
								belongs = "1.0";
							}
						}
					}else{
						if(Integer.parseInt(morning)<=4){
							if(Integer.parseInt(night) <= 12){
								belongs = "2.0";
							}else{
								belongs = "3.0";
							}
						}else{
							if(Integer.parseInt(afternoon) <= 5){
								belongs = "2.0";
							}else{
								belongs = "3.0";
							}
						}
					}
				}else{
					if(Integer.parseInt(afternoon)<=5){
						if(Integer.parseInt(morning)<=12){
							belongs = "2.0";
						}else{
							belongs = "3.0";
						}
					}else{
						if(Integer.parseInt(morning) <=7){
							if(Integer.parseInt(afternoon)<=7){
								belongs = "2.0";
							}else{
								belongs = "3.0";
							}
						}else{
							belongs = "3.0";
						}
					}
				}
			}else{
				if(Integer.parseInt(morning)<=7){
					belongs = "1.0";
				}else{
					if(Integer.parseInt(night)<=1){
						belongs = "1.0";
					}else{
						belongs = "3.0";
					}
				}
			}
		}else{
			if(Integer.parseInt(afternoon)<=21){
				if(Integer.parseInt(morning)<=18){
					if(Integer.parseInt(mltsk)<=5){
						if(Integer.parseInt(afternoon)<=11){
							if(Integer.parseInt(morning)<=6){
								if(Integer.parseInt(night) <=5){
									if(Integer.parseInt(morning)<=3){
										belongs = "2.0";
									}else{
										if(Integer.parseInt(night)<=1){
											belongs = "2.0";
										}else{
											belongs = "3.0";
										}
									}
								}else{
									belongs = "3.0";
								}
							}else{
								belongs = "3.0";
							}
						}else{
							belongs = "3.0";
						}
					}else{
						if(Integer.parseInt(afternoon)<=13){
							if(Integer.parseInt(morning)<=4){
								if(Integer.parseInt(morning)<=2){
									belongs = "1.0";
								}else{
									if(Integer.parseInt(night)<=4){
										belongs = "1.0";
									}else{
										belongs = "3.0";
									}
								}
							}else{
								if(Integer.parseInt(mltsk)<=22){
									belongs = "3.0";
								}else{
									belongs = "1.0";
								}
							}
						}else{
							belongs = "3.0";
						}
					}
				}else{
					if(Integer.parseInt(afternoon)<=17){
						belongs = "3.0";
					}else{
						if(Integer.parseInt(night)<=14){
							if(Integer.parseInt(morning)<=22){
								belongs = "3.0";
							}else{
								belongs = "4.0";
							}
						}else{
							belongs = "4.0";
						}
					}
				}
			}else{
				if(Integer.parseInt(morning)<=14){
					if(Integer.parseInt(afternoon)<=26){
						belongs = "3.0";	
					}else{
						if(Integer.parseInt(night)<=13){
							if(Integer.parseInt(tj102)<=1){
								if(Integer.parseInt(afternoon)<=32){
									belongs = "3.0";
								}else{
									belongs = "4.0";
								}
							}else{
								belongs = "4.0";
							}
						}else{
							belongs = "4.0";
						}
					}
				}else{
					if(Integer.parseInt(afternoon)<=24){
						if(Integer.parseInt(night)<=10){
							if(Integer.parseInt(morning)<=24){
								belongs = "3.0";
							}else{
								belongs = "4.0";
							}
						}else{
							belongs = "4.0";
						}
					}else{
						if(Integer.parseInt(night)<=5){
							if(Integer.parseInt(morning)<=18){
								belongs = "3.0";
							}else{
								belongs = "4.0";
							}
						}else{
							belongs = "4.0";
						}
					}
				}
			}
		}
		return belongs;
	}
寫的也是醉醉的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章