编程练习 请老师检查

编程练习 请老师检查

Test.java

public class Test {

public static void main(String[] args) {
//生成父类对象数组,数组长度为5
Animal[] animal=new Animal[5];
//产生随机数,随机产生三种具体子类的实例
for(int i=0;i<animal.length;i++){
int n=(int)(Math.random()*3);
switch(n){
case 0:animal[i]=new Cat();break;
case 1:animal[i]=new Dog();break;
case 2:animal[i]=new Sheep();break;
}
}

//循环输出,循环体中每个对象分别调用cry()方法。
for(int i=0;i<animal.length;i++){
animal[i].cry();
}


}

}

Animal.java

public class Animal {
//属性:kind(种类)
private String kind;

public Animal(){

}

//创建带参(kind为参数)构造函数
public Animal(String kind){
this.setKind(kind);
}
//应用封装实现对私有属性的get/set操作
public void setKind(String kind){
this.kind=kind;
}
public String getKind(){
return this.kind;
}

//创建成员方法cry():void

public void cry(){
System.out.println("动物的叫声");
}

}

Cat.java

public class Cat extends Animal {
//重写父类cry()方法,输出信息为“小猫的叫声:喵喵喵~~~”

public void cry(){
System.out.println("小猫的叫声:喵喵喵~~~~");
}

}

Dog.java

public class Dog extends Animal {
//重写父类cry()方法:输出信息为“小狗的叫声:汪汪汪~~~”

public void cry(){
System.out.println("小狗的叫声:汪汪汪~~~");
}

}

​Sheep.java

​public class Sheep extends Animal {
//重写父类的方法cry(),要求输出信息“小羊的叫声:咩咩咩~~~”

public void cry(){
System.out.println("小羊的叫声:咩咩咩~~~");
}


}


正在回答 回答被采纳积分+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下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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