编程练习 请老师检查

编程练习 请老师检查

Test.java

1
public class Test {<br><br>    public static void main(String[] args) {<br>        //生成父类对象数组,数组长度为5<br>        Animal[] animal=new Animal[5];<br>      //产生随机数,随机产生三种具体子类的实例<br>        for(int i=0;i<animal.length;i++){<br>           int n=(int)(Math.random()*3);<br>            switch(n){<br>                case 0:animal[i]=new Cat();break;<br>                case 1:animal[i]=new Dog();break;<br>                case 2:animal[i]=new Sheep();break;<br>            }<br>        }<br><br>       //循环输出,循环体中每个对象分别调用cry()方法。<br>        for(int i=0;i<animal.length;i++){<br>            animal[i].cry();<br>        }<br><br><br>   }<br><br>}<br>

Animal.java

1
public class Animal {<br>    //属性:kind(种类)<br>  private String kind;<br><br>    public Animal(){<br><br>    }<br><br>   //创建带参(kind为参数)构造函数<br> public Animal(String kind){<br>     this.setKind(kind);<br> }<br>    //应用封装实现对私有属性的get/set操作<br>    public void setKind(String kind){<br>       this.kind=kind;<br> }<br>   public String getKind(){<br>        return this.kind;<br>   }<br><br>   //创建成员方法cry():void<br><br>    public void cry(){<br>        System.out.println("动物的叫声");<br>    }<br><br>}<br>

Cat.java

1
public class Cat extends Animal {<br>    //重写父类cry()方法,输出信息为“小猫的叫声:喵喵喵~~~”<br><br>    public void cry(){<br>        System.out.println("小猫的叫声:喵喵喵~~~~");<br>    }<br><br>}<br>

Dog.java

1
public class Dog extends Animal {<br>    //重写父类cry()方法:输出信息为“小狗的叫声:汪汪汪~~~”<br><br>    public void cry(){<br>        System.out.println("小狗的叫声:汪汪汪~~~");<br>    }<br><br>}<br>

​Sheep.java

1
public class Sheep extends Animal {<br>     //重写父类的方法cry(),要求输出信息“小羊的叫声:咩咩咩~~~”<br><br>    public void cry(){<br>        System.out.println("小羊的叫声:咩咩咩~~~");<br>    }<br><br><br>}<br>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕阿园 2020-12-04 16:45:32

同学你好,代码完成的不错,继续加油

祝学习愉快

  • 提问者 一娆Hacker #1

    老师 您没仔细看吧?

    老师还想问一下这里,虽然产生的是随机数,为什么每次运行的结果是一样的

    是不是要设计时间种子? 只会C++的设置时间种子,java的不会


    2020-12-04 17:08:42
一娆Hacker 提问者 2020-12-04 16:40:53

老师还想问一下这里,虽然产生的是随机数,为什么每次运行的结果是一样的

是不是要设计时间种子? 只会C++的设置时间种子,java的不会

  • 同学你好,同学贴出的代码老师都会运行测试,并且根据题目要求核对代码的

    产生的随机数并不是一样的,如下

    http://img1.sycdn.imooc.com//climg/5fc9fe1f0951fbd702570277.jpg

    同学多运行几次试试

    java中不需要设计时间种子,直接使用Math.random()产生随机数即可

    祝学习愉快

    2020-12-04 17:17:06
  • 提问者 一娆Hacker 回复 好帮手慕阿园 #2

    好的 谢谢老师

    2020-12-06 09:08:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码