您好,欢迎访问一九零五行业门户网

if处理多分支结构实例介绍及过长的if语句的缺点

实例1
import java.util.scanner;/**  * created by liwenj on 2017/7/17. */public class test7 {public static void main(string[] args) {         scanner input=new scanner(system.in);int money=input.nextint();if(money>500){             system.out.println(我要买一个凯迪拉克);         }else if(money>100){             system.out.println(我要买一个帕萨特);         }else if(money>50){             system.out.println(我要买一个伊兰特);         }else if(money>10){             system.out.println(我要买一个奥拓);         }else{             system.out.println(我要买一个拖拉机);         }     } }
实例2
import java.util.scanner;/**  * created by liwenj on 2017/7/17. */public class test8 {public static void main(string[] args) {         scanner input = new scanner(system.in);         system.out.println(请输入是否是会员);         string huiyuan = input.next();boolean f = huiyuan.equals(yes);         system.out.println(请输入消费金额);double money = input.nextdouble();if (f) {if (money >= 200) {double dazhe = money * 0.75;                 system.out.println(你消费: + dazhe);             } else {double dazhe = money * 0.8;                 system.out.println(你消费: + dazhe);             }         } else if (money >= 100) {double dazhe = money * 0.9;             system.out.println(你消费: + dazhe);         }else{             system.out.println(你消费:+money);         }     } }
过长的多分支结构常被视为软件中的不良结构,因为它违背了ocp原则(开放、封闭原则),每当需要新增一种条件判断处理时,就要新增一个if-else分支。
在很多情况下,使用函数表结构是避免过长的分支结构的有效方法,下面以「狼、羊和菜过河」问题的求解算法中用到函数表结构代替过长的多分支结构的例子。农夫一共可以采取8种动作,每种动作都对应一个状态转变处理流程。如果采用if-else多分支结构,处理状态转换的代码将会非常长,为了避免过长的分支跳转代码,算法采用了函数表结构。首先声明函数表项的定义:
print? typedef bool (*processfuncptr)(const itemstate& current, itemstate& next); struct actionprocess{ action act; processnextfuncptr processfunc; }
以上就是if处理多分支结构实例介绍及过长的if语句的缺点的详细内容。
其它类似信息

推荐信息