决策生成器的java实现
来源:互联网 发布:如何评价红楼梦 知乎 编辑:程序博客网 时间:2024/05/23 12:16
方法一:使用enum方法。
/** * 决策生成器 * from《java完全手册》 *///枚举类型import java.util.Random;enum Answers {NO, YES, MAYBE, LATER, SOON, NEVER}class Question {Random rand = new Random();Answers ask() {int prob = (int)(100 * rand.nextDouble());if(prob < 15)return Answers.MAYBE;else if(prob < 30)return Answers.NO;else if(prob < 60)return Answers.YES;else if(prob < 75)return Answers.LATER;else if(prob < 98)return Answers.SOON;elsereturn Answers.NEVER;}}class AskMe {static void answer(Answers result) {switch(result) {case NO:System.out.println("NO");break;case YES:System.out.println("YES");break;case MAYBE:System.out.println("MAYBE");break;case LATER:System.out.println("LATER");break;case SOON:System.out.println("SOON");break;case NEVER:System.out.println("NEVER");break;}}public static void main(String args[]) {Question q = new Question();answer(q.ask());answer(q.ask());answer(q.ask());answer(q.ask());answer(q.ask());answer(q.ask());}}
运行结果如下:
NO
MAYBE
MAYBE
YES
SOON
MAYBE
方法二:用接口实现。
/** * 决策生成器 * from《java完全手册》 *///接口实现import java.util.Random;interface SharedConstants {int NO = 0;int YES = 1;int MAYBE = 2;int LATER = 3;int SOON = 4;int NEVER = 5;}class Question implements SharedConstants {Random rand = new Random();int ask() {int prob = (int)(100 * rand.nextDouble());if(prob < 15)return MAYBE;else if(prob < 30)return NO;else if(prob < 60)return YES;else if(prob < 75)return LATER;else if(prob < 98)return SOON;elsereturn NEVER;}}class AskMe implements SharedConstants {static void answer(int result) {switch(result) {case NO:System.out.println("NO");break;case YES:System.out.println("YES");break;case MAYBE:System.out.println("MAYBE");break;case LATER:System.out.println("LATER");break;case SOON:System.out.println("SOON");break;case NEVER:System.out.println("NEVER");break;}}public static void main(String args[]) {Question q = new Question();answer(q.ask());answer(q.ask());answer(q.ask());answer(q.ask());answer(q.ask());answer(q.ask());}}
运行结果如下:
NO
SOON
YES
MAYBE
YES
MAYBE
于2013/04/10
- 决策生成器的java实现
- JAVA实现双边决策
- 一个java代码生成器的简单实现
- java的代码生成器
- JAVA注解 实现一个简单的sql语句生成器
- Java实现一个GUI的SEO软文生成器v1
- Java Web 模板代码生成器的设计与实现
- Java 7新特性(六)——通过注释实现更好的决策
- 词法分析器生成器的实现
- java唯一的字符串生成器
- java版的二维码生成器
- 信数金服决策引擎分享(三):如何实现决策的协同维护?
- java 双色球彩票生成器 Random实现
- 表情自动生成器java代码实现
- 用Java设计实现Python中的生成器
- 我录制的《Java + JDBC + Freemarker引擎实现强大的代码生成器》视频教程,发布了
- 实现成功必须做的6个关键决策 --
- matlab 贝叶斯决策对二维二分类问题的实现
- C#.net 地图控件开发(八) 地图要素Feature
- 用类求最大值
- Deep Learning 教程翻译
- 用GDB调试程序(二)
- 机构和官职
- 决策生成器的java实现
- Android中所有的服务使用
- 【算法导论笔记】基本图算法
- MyEclipse提示过期了,MyEclipse Trial Expired解决方法
- 10种JavaScript特效实例让你的网站更吸引人
- POJ 1041 java语言
- C#.net 地图控件开发(四) GDI+图形图像编程基础2.
- 用GDB调试程序(三)
- java动态代理(JDK和cglib)