A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 艾提儿 初级黑马   /  2014-8-18 23:29  /  1567 人查看  /  11 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一位老农带着猫、狗、鱼过河,河边有一条船,每次老农只能带一只动物过河。当老农不和猫狗鱼在一起时,狗会咬猫,猫会吃鱼,当老农和猫狗鱼在一起时,则不会发生这种问题。编程解决猫狗鱼过河问题。


11 个回复

倒序浏览
先带猫过去,然后再回来把鱼带过去,回来的时候把猫带回来,再把狗带过去,最后过来拿鱼
回复 使用道具 举报
你这个是基础测试吗
回复 使用道具 举报
public class Test {
       
        public static void main(String[] args){
                CrossRive cr = new CrossRive();
                System.out.println("过河前:");
                System.out.println(cr.toString());
               
                cr.crossingRiver();
                System.out.println("过河后:");
                System.out.println(cr.toString());
        }
}

class CrossRive{
        //shoresideA代表岸A,shoresideB代表岸B
        private static String[] shoresideA = {"狗","猫","鱼"};
        private static String[] shoresideB = new String[3];
   
        public void crossingRiver(){
                //boat船
                //首先带猫过河
            String boat = shoresideA[1];
            shoresideA[1] = null;
            shoresideB[1] = boat;
            //带狗过河
            boat = shoresideA[0];
            shoresideA[0] = null;
            shoresideB[0] = boat;
            //把猫带回原岸A
            boat = shoresideB[1];
            shoresideB[1] = null;
            shoresideA[1] = boat;
            //带鱼过河
            boat = shoresideA[2];
            shoresideA[2] = null;
            shoresideB[2] = boat;
            //最后带猫过河
            boat = shoresideA[1];
            shoresideA[1] = null;
            shoresideB[1] = boat;
            boat = null;
        }
    public String toString(){
            String str ="shoresideA["+shoresideA[0]+","+shoresideA[1]+","+shoresideA[2]+"]\n" +
                            "shoresideB["+shoresideB[0]+","+shoresideB[1]+","+shoresideB[2]+"]";
            return str;
    }
}
回复 使用道具 举报 0 1
马嘉 发表于 2014-8-19 08:44
你这个是基础测试吗

是的,感觉不会做~~好迷茫
回复 使用道具 举报
也太难了吧
回复 使用道具 举报
不是很好理解啊!
回复 使用道具 举报
lhtwm1 中级黑马 2014-8-20 09:45:59
8#
把鱼一直带在身上不就解决了 吗
回复 使用道具 举报
艾提儿 发表于 2014-8-20 00:36
是的,感觉不会做~~好迷茫

让用文字描述还是用代码?
回复 使用道具 举报
yqj 中级黑马 2014-8-22 17:21:04
10#
你去看看传智播客“12月份java底层盛宴公开课”的第一次课程的上结,对这个问题有所讲解,这个题目猫狗鱼顺序应该可以随意是让电脑做决策的
回复 使用道具 举报 1 0
yqj 发表于 2014-8-22 17:21
你去看看传智播客“12月份java底层盛宴公开课”的第一次课程的上结,对这个问题有所讲解,这个题目猫狗鱼顺 ...

谢谢啊,我一看帖子连文字表述都理不清思绪,更别说转换为代码了QAQ
回复 使用道具 举报
我也看看……
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马