为什么输出的全是猫呢
来源: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