package jiang.test;
/**
* 某地有两个奇怪的村庄,张庄的人在星期一、三、五说谎,李村的人在星期二、四、六说谎。在其他日子他们说实话。
* 一天,外地的王从明来到这里,见到两个人,分别向他们提出关于日期的题。两个人都说:”前天是我说谎的日子。”
* 如果被问的两个人分别来自张庄和李村,那么这一天是星期几?
* @author Administrator
*
*/
public class WhatDay {
public static void main(String[] args) {
boolean isLay = true;
for(int beYes = 1;beYes <= 7;beYes++){
int today = (beYes+2)%7;
String ZhangZhang = "zhang";
String LiCun = "li";
if(isRight(ZhangZhang,beYes,isLay)&&isRight(LiCun,beYes,isLay)){
System.err.println("这一天是星期"+today);
}
}
}
/**
* 逻辑是否正确,正确就返回true
* @param user
* @param beYes
* @param isLay
* @return
*/
public static boolean isRight(String user,int beYes,boolean isLay){
int today = (beYes+2)%7;
boolean belay = isLying(user,beYes);
boolean lay = isLying(user,today);
if(lay&&!belay==isLay){
return true;
}else if(!lay&&belay==isLay){
return true;
}else
return false;
}
/**
* 是否说谎
* @param user
* @param day
* @return
*/
public static boolean isLying(String user,int day){
if(user.equals("zhang")){
if(day==1||day==3||day==5)
return true;
}else if(user.equals("li")){
if(day==2||day==4||day==6)
return true;
}
return false;
}
}