黑马程序员技术交流社区

标题: 一个朋友问我的问题,还没有思路 [打印本页]

作者: 宋星    时间: 2014-1-19 23:21
标题: 一个朋友问我的问题,还没有思路
一位老农带着猫、狗、鱼过河,河边有一条船,每次老农只能带一只动物过河。当老农不和猫狗鱼在一起时,狗会咬猫,猫会吃鱼,当老农和猫狗鱼在一起时,则不会发生这种问题。编程解决猫狗鱼过河问题。
看到这题时,我想到要用面向对象的思想,但是,具体的实现还没想好


作者: panzhenglian    时间: 2014-1-19 23:41
农夫带着猫过河,再回来带着狗过河,将猫带回来再带着鱼过河,最后带猫过河,但是我觉得这一切都是农夫的过程而已,不需要真正做到万物皆对象的,个人心中认为对象仅仅是功能的一个封装,将复杂的事物封装成对象,由对象去完成自己需要做到的事,生活中的例子比如做公交调用到了司机对象,司机调用了汽车对象等等
作者: 75100313    时间: 2014-1-20 07:41
第一次 带猫过去
第二次 带狗(鱼)过去 带猫回来
第三次 带鱼(狗)过去
第四次 带猫过去
作者: 姬运涛    时间: 2014-1-20 08:48
这个可以第一次把猫带过去,第二次把狗带过去,并把猫带回,第三次把鱼带过去,第四次把猫带过去
class Take
{
      void bring()
      {
             System.out.println("带猫过河");
             if(fish>0)//fish>0相当于带鱼过河
             {
                     System.out.println("带回猫");
                     System.out.println("带去狗");
                     System.out.println("带去猫");
              }
              else(dog>0)
              {
                      System.out.println("带回猫");
                     System.out.println("带去鱼");
                     System.out.println("带去猫");
              }
      }
}
class Ways
{
        Public static void main (String []  args)
       {
                Take t=new Take();
                 t.bring();
        }

}
作者: 未来希望    时间: 2014-1-20 10:09
看了上面大神们的回复都是先带猫,我觉得第一次带狗过去第二次带鱼过去,最后带猫过去也可以啊
作者: s476596497    时间: 2014-1-20 10:27
未来希望 发表于 2014-1-20 10:09
看了上面大神们的回复都是先带猫,我觉得第一次带狗过去第二次带鱼过去,最后带猫过去也可以啊  ...

你带狗过去,猫不是把鱼吃了?
作者: s476596497    时间: 2014-1-20 10:32
这个问题中,猫提供吃鱼的方法,狗提供咬猫的方法,农夫提供带谁过河的方法,船提供过河的方法,通过if进行判断,带猫过河,狗没有提供吃鱼的方法,不能吃鱼,如果带狗过河,猫提供吃鱼的方法,把鱼吃掉,如果带鱼过河,狗提供咬猫的方法,把猫咬死。
作者: 宋星    时间: 2014-1-20 12:36
姬运涛 发表于 2014-1-20 08:48
这个可以第一次把猫带过去,第二次把狗带过去,并把猫带回,第三次把鱼带过去,第四次把猫带过去
class Tak ...

哥们,先不说你的思路,你发的代码运行过吗?首先,你没有定义fish和dog的变量,而且,就算定义了也运行失败。。朋友,我这样说并没有批评你的意思,只是帮你指出问题,只有交流才能发现问题,才能共同进步,大家一起努力。

作者: xiaoyuequheima    时间: 2014-6-13 20:46
先把猫带过去,在把鱼带过去,把猫带过来把狗带过去,最后把猫带过去。
作者: 佛说    时间: 2014-12-14 17:38
学习了 ,大神门




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2