62,614
社区成员
发帖
与我相关
我的任务
分享
//因为条件中有减一的情况 所以用了[6][6] 省去了判断
public class Einstein {
public static void main(String args[]){
String[][] house=new String[6][6];
/*----------------------------
house[1]:颜色
house[2]:国籍
house[3]:饮料
house[4]:香烟
house[5]:宠物
----------------------------*/
for(int j=1;j<6;j++)
for(int k=1;k<6;k++)
house[j][k]="blank";
//8、住在中间房子的人喝牛奶
house[3][3]="牛奶";
//9、挪威人住第一间房
house[2][1]="挪威";
//14、挪威人住蓝色房子隔壁
house[1][2]="蓝色";
//其他按顺序来
//===============================================================
//1、英国人住红色房子
for(int i=1;i<6;i++){
while(false){
mark_i:
house[2][i]="blank";house[1][i]="blank";
i++;
}
if(house[2][i].equals("blank") && house[1][i].equals("blank")){
house[2][i]="英国";house[1][i]="红色";
break;
}
}
//===============================================================
//2、瑞典人养狗
for(int ii=1;ii<6;ii++){
if(ii>5) continue mark_i;
while(false){
mark_ii:
house[2][ii]="blank";house[5][ii]="blank";
ii++;
}
if(house[2][ii].equals("blank") && house[5][ii].equals("blank")){
house[2][ii]="瑞典";house[5][ii]="狗";
break;
}
}
//===============================================================
//3、丹麦人喝茶
for(int iii=1;iii<6;iii++){
if(iii>5) continue mark_ii;
while(false){
mark_iii:
house[2][iii]="blank";house[3][iii]="blank";
iii++;
}
if(house[2][iii].equals("blank") && house[3][iii].equals("blank")){
house[2][iii]="丹麦";house[3][iii]="茶";
break;
}
}
//===============================================================
//5、绿色房子主人喝咖啡(4先跳过)
for(int v=1;v<6;v++){
if(v>5) continue mark_iii;
while(false){
mark_v:
house[1][v]="blank";house[3][v]="blank";
v++;
}
if(house[1][v].equals("blank") && house[3][v].equals("blank")){
house[1][v]="绿色";house[3][v]="咖啡";
break;
}
}
//===============================================================
//6、抽Pall Mall香烟的人养鸟
for(int vi=1;vi<6;vi++){
if(vi>5) continue mark_v;
while(false){
mark_vi:
house[4][vi]="blank";house[5][vi]="blank";
vi++;
}
if(house[4][vi].equals("blank") && house[5][vi].equals("blank")){
house[4][vi]="Pall Mall";house[5][vi]="鸟";
break;
}
}
……
……
……