为什么输出的全是猫呢
来源:3-16 编程练习
Ranron
2019-10-18 18:59:24
public class Test {
public static void main(String[] args) {
//生成父类对象数组,数组长度为5
Animal[] animal = new Animal[5];
//产生随机数,随机产生三种具体子类的实例
for(int i=0;i<animal.length;i++){
int j=(int)(Math.random())*3;
if(j==0){
animal[i]=new Cat();
}else if(j==1){
animal[i]=new Dog();
}else if(j==2){
animal[i]=new Sheep();
}
}
//循环输出,循环体中每个对象分别调用cry()方法。
for(int i =0;i<animal.length;i++){
animal[i].cry();
}
}
}1回答
同学你好,代码完成的不错,全都输出猫的原因是获取随机数的方式不正确哦~
Math.random()返回的是0-1之间的小数,所以要获取0~3的整数则需要将Math.random()*3,然后将整个表达式转换为int。
具体如下:
(int)(Math.random()*3)
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
回答 2
回答 2