多平台统一管理软件接口,如何实现多平台统一管理软件接口
482
2023-03-08
Java简单实现农夫过河问题示例
本文实例讲述了java简单实现农夫过河问题。分享给大家供大家参考,具体如下:
一、问题描述
老伯伯要带鱼、狗、猫过河到对岸.,有一条船,只能坐一个人,老伯每次只能带一样动物过河,当老伯不在的时侯狗会咬猫,猫会吃鱼.,请问怎么顺序过河呢?
二、实现代码
package demo;
import java.util.ArrayList;
import java.util.List;
public class CrossRiver {
List
List
/*boolean thisFlag = true;
boolean thatFlag = false;
*/
public CrossRiver() {
tcsNXc listThis.add("dog");
listThis.add("fish");
listThis.add("cat");
// listThis.add("people");
}
public boolean isSafe(@SuppressWarnings("rawtypes") Listhttp:// list){
if(list.contains("fish")&&list.contains("cat")||list.contains("cat")&&list.contains("dog")){
return false;
}else{
return true;
}
}
public void thisTothat(){
String str = listThis.get(0);
listThis.remove(str);
if(this.isSafe(listThis)){
System.out.println("农夫带着 " + str + " 从此岸到彼岸");
System.out.println("此岸" + listThis + "\b" + "彼岸" + listThat);
System.out.println();
tcsNXc listThat.add(str);
thatToThis();
}else{
listThis.add(str);
thisTothat();
}
}
public void thatToThis(){
if(listThis.isEmpty()){
System.out.println("此岸" + listThis + "\b" + "彼岸" + listThat);
return;
}
if(isSafe(listThat)){
System.out.println("农夫从彼岸到此岸");
System.out.println("此岸" + listThis + "\b" + "彼岸" + listThat);
System.out.println();
thisTothat();
}else{
String str = listThat.get(0);
listThat.remove(0);
if(isSafe(listThat)){
System.out.println("农夫带着 " + str + " 从彼岸到此岸");
System.out.println("此岸" + listThis + "\b" + "彼岸" + listThat);
System.out.println();
listThis.add(str);
thisTothat();
}else{
listThat.add(sttcsNXcr);
thatToThis();
}
}
}
public static void main(String[] args){
StcsNXcystem.out.println("我们测试结果:");
System.out.println();
new CrossRiver().thisTothat();
}
}
运行结果:
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~