В этой статье описывается простой реализация проблемы фермеров, пересекающих реку в Яве. Поделитесь этим для вашей ссылки, следующим образом:
1. Описание проблемы
Старик хочет порезать рыбу, собак и кошек через реку на другую сторону. Есть лодка, которая может сидеть только одного человека. Старик может приносить только одно животное, чтобы пересечь реку каждый раз. Когда старик не будет, собака укусит кошку, а кошка будет есть рыбу. Как вы пересекаете реку в последовательности?
2. Реализация кода
Пакет Demo; импорт java.util.arraylist; import java.util.list; открытый класс Crossriver {list <string> listThis = new ArrayList <String> (); Список <string> listThat = new ArrayList <String> (); /*boolean thisflag = true; Boolean thatflag = false;*/ public crossriver () {listThis.add ("собака"); ListThis.Add ("рыба"); listthis.add ("cat"); // ListThis.Add («Люди»); } public Boolean Issafe (@suppresswarnings ("rawtypes") список) {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 (); listthat.add (str); thatothis (); } else {listThis.add (str); thattothat (); }} public void thattothis () {if (listthis.isempty ()) {System.out.println ("This Shore" + ListThis + "/B" + "Out другое берег" + listThat); возвращаться; } if (issafe (listThat)) {System.out.println («Фермер переходит от другого берега к этому берегу»); System.out.println («Этот берег» + listThis + "/b" + "за пределами берега" + listThat); System.out.println (); thattothat (); } 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); thattothat (); } else {listThat.Add (str); thatothis (); }} public static void main (string [] args) {System.out.println ("wulin.com Результаты теста:"); System.out.println (); новый CrossRiver (). Thertothat (); }}Результаты работы:
Для получения дополнительной информации об алгоритмах Java, читатели, которые заинтересованы в этом сайте, могут просмотреть темы: «Учебное пособие по структуре данных Java и алгоритм», «Сводка операции Java Dom Node», «Сводка Java File и каталог
Я надеюсь, что эта статья будет полезна для всех Java Programming.