この記事では、ジャワの川を渡る農民の問題の簡単な実装について説明しています。次のように、参照のために共有してください。
1。問題の説明
老人は、川を渡って魚、犬、猫を反対側に切りたいと思っています。 1人しか座ることができないボートがあります。老人は毎回川を渡るために1匹の動物しか持ってきません。老人が去ると、犬は猫を噛み、猫は魚を食べます。どのようにして川を越えて渡りますか?
2。コードを実装します
パッケージデモ;インポートjava.util.arraylist; import java.util.list; public class crossriver {list <string> lists = new arraylist <string>(); List <String> listThat = new ArrayList <String>(); /*boolean thisflag = true; boolean thatflag = false;*/ public crossriver(){listthis.add( "dog"); listthis.add( "fish"); listthis.add( "cat"); // listthis.add( "people"); } public boolean issafe(@suppresswarnings( "rawtypes")list 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( "This Shore" + listthis + "/b" + "out out other shore" + listthat); System.out.println(); listthat.add(str); thattothis(); } else {listthis.add(str); thistothat(); }} public void thattothis(){if(listthis.isempty()){system.out.println( "this shore" + list this + "/b" + "out other shore" + list that);戻る; } if(issafe(listthat)){system.out.println( "農家は他の海岸からこの海岸に行きます"); System.out.println( "This Shore" + listthis + "/b" + "屋外" + listthat); System.out.println(); thistothat(); } else {string str = listthat.get(0); listthat.remove(0); if(issafe(listthat)){system.out.println( "農家は他の海岸からこの海岸への" + str + "を取る" + str + "を"); System.out.println( "This Shore" + listthis + "/b" + "屋外" + listthat); System.out.println(); listthis.add(str); thistothat(); } else {listthat.add(str); thattothis(); }} public static void main(string [] args){system.out.println( "wulin.comテスト結果:"); System.out.println(); new Crossriver()。thattothat(); }}実行結果:
Javaアルゴリズムの詳細については、このサイトに興味のある読者は、「Javaデータ構造とアルゴリズムのチュートリアル」、「Java操作DOMノードのヒントの要約」、「Javaファイルの要約およびディレクトリ操作のヒント」、「Java Cache操作のヒントの要約」というトピックを見ることができます。
この記事がみんなのJavaプログラミングに役立つことを願っています。