卫条件
来源:互联网 发布:win10查看电脑mac地址 编辑:程序博客网 时间:2024/05/17 02:00
卫条件,核心思想就是只找反例,return出去下面我们通过一个小题目来演示:
这里如果我们用传统的if来判断,那么绕的太多了,所以我们只需将每一个条件不满足的return false 就行了。
具体实现代码如下:
package cn.hncu.part1;/* *1)A,B两人至少有1人参加会议; 2)A,E,F 3人中有2人参加会议; 3)B和C两人一致决定,要么两人都去,要么两人都不去; 4)A,D两人中只1人参加会议; 5)C,D两人中也只要1人参加会议; 6)如果D不去,那么E也决定不去。 */public class join {public static void main(String[] args) {for (int a1 = 0; a1 <= 1; a1++) {for (int a2 = 0; a2 <= 1; a2++) {for (int a3 = 0; a3 <= 1; a3++) {for (int a4 = 0; a4 <= 1; a4++) {for (int a5 = 0; a5 <= 1; a5++) {for (int a6 = 0; a6 <= 1; a6++) {if (ok(a1, a2, a3, a4, a5, a6)) {System.out.println("a1--" + a1 + ",a2--"+ a2 + ",a3--" + a3 + ",a4--" + a4+ ",a5--" + a5 + ",a6--" + a6);break;}}}}}}}}private static boolean ok(int a1, int a2, int a3, int a4, int a5, int a6) {if (!(countGo(a1, a2) >= 1)) {// A,B两人至少有1人参加会议;return false;}if (!(countGo(a1, a5, a6) == 2)) {// A,E,F 3人中有2人参加会议;return false;}if (!(countGo(a2, a3) == 2 || countGo(a2, a3) == 0)) {// B和C两人一致决定,要么两人都去,要么两人都不去;return false;}if (!(countGo(a1, a4) == 1)) {// A,D两人中只1人参加会议;return false;}if (!(countGo(a3, a4) == 1)) {// C,D两人中也只要1人参加会议;return false;}if (countGo(a4) == 0 && countGo(a5) == 1) {// 如果D不去,那么E也决定不去。return false;}return true;}private static int countGo(int... mee) {int count = 0;for (int me : mee) {if (me == 1) {count++;}}return count;}}
0 0
- 卫条件
- 卫语句取代嵌套条件表达式
- java之 ------ 可变参数和卫条件
- 卫语句取代嵌套条件表达式
- 条件编译&条件属性
- for(条件1;条件2;条件3)
- java课堂练习之可变参数与卫条件
- 搜索条件
- 搜索条件
- 条件编译
- 条件编译
- 条件表达式
- 条件语句
- 条件码助记符
- 条件汇编
- 条件编译
- 条件变量
- 条件编译
- SVD与PCA,奇异值分解与主成分分析的比较
- Ingress traffic control
- 关于ServletConfig与ServletContext的访问
- 替换元素、非替换元素、行内元素框模型
- 实现类似空间说说与评论存储表的结构与测试逻辑
- 卫条件
- JAVA常用代码片段
- 应用层杂谈
- Android 省市县 三级联动(android-wheel的使用)
- do while
- iOS地图展示mapkit框架-基本使用
- 文章标题
- 22.5-5求有向图的分量图
- 压缩感知重构算法之SP算法python实现