人狼羊菜2012年版本

这是我初接触编程时编写的Java代码,待有足够时间会重构该代码。

实现代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
假设开始人狼羊菜都是在A岸,目的是将人狼羊菜运输到B岸。
*/
public class Thing {
public static void main(String[] args) {
int i = 0, x, k = 0;
while (i != 15) {
k = 0;
if (((i % 2 == 0) && i < 8) || (i % 2 == 1 && i >= 8)) {
x = i ^ 9;
if (x != 3 && !(x >= 6 && x <= 9) && x != 12) {
i = x;
k++;
if(i>8)
System.out.println("人带菜从A岸到达B岸");
else
System.out.println("人带菜从B岸到达A岸");
}
}
if (((i / 2) % 2 == 0 && i < 8) || ((i / 2) % 2 == 1 && i >= 8)) {
x = i ^ 10;
if (x != 3 && !(x >= 6 && x <= 9) && x != 12) {
i = x;
k++;
if(i>8)
System.out.println("人带羊从A岸到达B岸");
else
System.out.println("人带羊从B岸到达A岸");
}
}
if (!(i >= 4 && i <= 11)) {
x = i ^ 12;
if (x != 3 && !(x >= 6 && x <= 9) && x != 12) {
i = x;
k++;
if(i>8)
System.out.println("人带狼从A岸到达B岸");
else
System.out.println("人带狼从B岸到达A岸");
}

}
x = i ^ 8;
if (x != 3 && !(x >= 6 && x <= 9) && x != 12) {
i = x;
k++;
if(i>8)
System.out.println("人独自一人从A岸到达B岸");
else
System.out.println("人独自一人从B岸到达A岸");
}
}
}
}

运行结果如下:

人带羊从A岸到达B岸
人独自一人从B岸到达A岸
人带菜从A岸到达B岸
人带羊从B岸到达A岸
人带狼从A岸到达B岸
人独自一人从B岸到达A岸
人带羊从A岸到达B岸

总结

该代码混乱不堪,类命名,变量命名都不符合编码规范,写出来的代码比反编译之后的更难阅读,抽时间会给出重构后的版本。

参考资料

作者

stone liu

发布于

2012-10-17

更新于

2024-09-06

许可协议

评论