一道逻辑题(关于张村李村说谎的)java实现
来源:互联网 发布:linux mkdir创建目录 编辑:程序博客网 时间:2024/05/01 08:28
import java.util.ArrayList;
import java.util.List;
/*
* 有两个村,张村和李村
* 张村的人星期一三五说谎
* 李村的人星期二四六说谎
* 一人问,今天周几?结果两个存的人都会打"前天是我说谎的日子".
*/
public class Test10 {
public static void main(String[] args) {
// 张村说谎日子
List<Integer> zhang = new ArrayList<Integer>();
zhang.add(1);
zhang.add(3);
zhang.add(5);
// 李村说谎的日子
List<Integer> li = new ArrayList<Integer>();
li.add(2);
li.add(4);
li.add(6);
// 张村今天是否是说谎的日子
boolean lieTodayZhang = false;
// 李村今天是否是说谎的日子
boolean lieTodayLi = false;
// 张村前天是否是说谎的日子
boolean lieAnteayerZhang = false;
// 李村前天是否是说谎的日子
boolean lieAnteayerLi = false;
// 定义一周的for循环
for (int today = 1; today < 8; today++) {
// 前天
int anteayer = getAnteayer(today);
// 下面做张村李村今天和昨天能否说谎
lieTodayZhang = zhang.contains(today);
lieTodayLi = li.contains(today);
lieAnteayerZhang = zhang.contains(anteayer);
lieAnteayerLi = li.contains(anteayer);
//这里我感觉写的也不好
//lie必须保证在两个村子按照以下判断都成立时才能为true
//如果张村或者李村今天是不能说谎的日子,不用判断就能成立
//这里我是根据记录出来的规律,推倒的先判断张村今天如果不是说谎日,就要保证他前天不能说谎
//判断成立后在判断李村,和上面两行描述一样
boolean lie = false;
if (lieTodayZhang == false) {
if (lieAnteayerZhang == true) {
lie = true;
} else {
lie = false;
}
}
if (lieTodayLi == false) {
if (lieAnteayerLi == true) {
lie = true;
} else {
lie = false;
}
}
if (lie) {
System.out.println(today);
}
}
}
// 获得对于今天来讲的前天
private static int getAnteayer(int today) {
// 这里需要一个循环数组
// 先用一种烂方法代替
if (today == 1) {
return 6;
} else if (today == 2) {
return 7;
} else if (2 < today && today < 8) {
return today - 2;
} else {
System.out.println("程序有问题才会跑这里来");
return -1;
}
}
}
第一次发有点逻辑上判断的小问题 重新发下
- 一道逻辑题(关于张村李村说谎的)java实现
- 一个逻辑问题_张村说谎李村不说谎
- 【逻辑题】是谁在说谎?
- 一道有趣的逻辑题
- 一道有意思的逻辑题
- 一道有趣的逻辑题
- 求解逻辑题谁在说谎?
- 张老师的生日[逻辑题]
- 关于“一道引起全美大学生举国辩论的逻辑题”的答案
- 谁在说谎 c,java实现
- 一道六嫌疑犯的逻辑判断题
- 一道六嫌疑犯的逻辑判断题
- 一道有意思的逻辑分析题
- 一道逻辑题(应用到位运算)
- GOJ1446 并查集判断逻辑错误(是否说谎)
- 一道逻辑题
- 一道逻辑题
- 一道逻辑题
- 心态决定成败2
- 如何实现线程的开启、暂停和停止
- Wince内存泄露检测工具Application Verifier的使用和如何快速定位泄露语句(二)
- 多线程
- java反射详解
- 一道逻辑题(关于张村李村说谎的)java实现
- java.lang.NoClassDefFoundError: javax/el/ExpressionFactory异常
- QT常用的类和函数总结
- 14周项目二:成绩处理
- 冒泡法排序
- JS中常用的正则表达式分享
- 项目1 - 数组大折腾
- 恩,是时候勤奋一点了
- VS2008调试程序时,发现键盘输入迟钝