黑马程序员技术交流社区
标题:
新学的集合用法
[打印本页]
作者:
toypaoa
时间:
2015-10-16 20:40
标题:
新学的集合用法
农夫有 猫 狗 鱼三个动物,要用船过河,每次运一个动物,狗吃猫,猫吃鱼,要怎么样才能过河呢?通过集合体现
package it.heima.list;
import java.lang.Thread.State;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import javax.swing.tree.DefaultTreeCellEditor.EditorContainer;
import javax.xml.stream.events.EntityDeclaration;
public class ListDemo {
ArrayList<String> startList = new ArrayList<>();
ArrayList<String> endList = new ArrayList<>();
public ListDemo() {
startList.add("fish");
startList.add("cat");
startList.add("dog");
}
public static void main(String[] args) {
ListDemo demo=new ListDemo();
demo.toTake();
}
public boolean isSafe(ArrayList<String> list) {
boolean flag = true;
if (list.contains("cat") && list.contains("fish") || list.contains("cat") && list.contains("dog")) {
flag = false;
}
return flag;
}
public boolean isEmpty(ArrayList<String> list) {
return list.isEmpty();
}
public void toTake() {
String animal = startList.get(0);
startList.remove(0);
if (isSafe(startList)) {
toThere(animal);
} else {
startList.add(animal);
toTake();
}
}
public void toThere(String animal) {
endList.add(animal);
System.out.println("农夫带着"+animal+"过河了");
System.out.println("河这边还有"+startList);
System.out.println("过河了的有"+endList);
if(isEmpty(startList)){
System.out.println("动物都过河了");
return;
}
if(isSafe(endList)){
toTake();
}else{
String s=endList.get(0);
endList.remove(0);
if(isSafe(endList)){
System.out.println("农夫带着"+s+"回到了这边");
startList.add(s);
toTake();
}else{
toThere(s);
}
}
}
}
作者:
田策
时间:
2015-10-16 21:26
很好,很实用!!!
作者:
迷途老马
时间:
2015-10-17 00:03
直接拿走用了。哈哈谢谢
作者:
jyf823691221
时间:
2015-10-17 00:06
直接拿走用了。哈哈谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2