图书馆图书失窃, 找到可疑学生4人, 已知4人中有3人说真话, 1人说假话, 请用代码找出说假话的人
A: 不是我干的
B: 是C干的
C: 是D干的
D: C在胡说
思路: 分别假设ABCD为窃书人, 哪一次假设符合3人真话1人假话的条件, 即可找出窃书人.
@Test
public void findThief(){
for (char thief ='A'; thief <= 'D'; thief++)
{
if ((thief != 'A'?1:0)+(thief == 'C'?1:0)+(thief == 'D'?1:0)+ (thief != 'D'?1:0) == 3)
{
System.out.printf("窃书的人是: %c\n", thief);
}
}
}
网友评论