java 谁是小偷?
Posted //我是小白
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 谁是小偷?相关的知识,希望对你有一定的参考价值。
谁是小偷
问题描述
警察抓住了A、B、C、D四名盗窃嫌疑犯,其中只有一人是小偷。在审问时,
A说:“我不是小偷”;
B说:“C是小偷”;
C说:“小偷肯定是D”;
D说:“C在冤枉好人”。
现在已经知道这四人中有三人说的是真话,一人说的是假话。请问到底谁是小偷?
思路分析
假设A是小偷,那么A假话、B假话、C假话、D真话
假设B是小偷,那么A真话、B假话、C假话、D真话
假设C是小偷,那么A真话、B真话、C假话、D真话 √
假设D是小偷,那么A真话、B假话、C真话、D假话
按照枚举的的思路罗列出来会发现答案一目了然,把他转换成代码,for循环模拟小偷,用answer标记说真话的个数,AC!
public class Main {
public static void main(String[] args) {
int A='A';
int B='B';
int C='C';
int D='D';
for (int i = 'A'; i <='D'; i++) {
int answer=0;
if(A!=i)answer++; //A说:“我不是小偷”
if(C==i)answer++; //B说:“C是小偷”
if(D==i)answer++; //C说:“小偷肯定是D”
if(D!=i)answer++; //D说:“C在冤枉好人”
if(answer==3)
System.out.println("小偷是:"+(char)i);
}
}
}
以上是关于java 谁是小偷?的主要内容,如果未能解决你的问题,请参考以下文章