循环调用
public class Test { public static void main(String[] args) { 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; } for(Animal n=animal){ switch (n) { case 0: Cat.cry(); break; case 1: Dog.cry(); break; case 2: Sheep.Cry(); break; } } } public class Animal { private String kind; public Animal(){ } public Animal(String kind){ this.setKind(kind); } public void setKind(String kind){ this.kind=kind; } public String getKind(){ return kind; } public void cry(){ } } public class Cat extends Animal { //重写父类cry()方法,输出信息为“小猫的叫声:喵喵喵~~~” public void cry(){ System.out.println("小猫的叫声:喵喵喵~~~"); } } public class Dog extends Animal { //重写父类cry()方法:输出信息为“小狗的叫声:汪汪汪~~~” public void cry(){ System.out.println("小狗的叫声:汪汪汪~~~"); } } public class Sheep extends Animal { //重写父类的方法cry(),要求输出信息“小羊的叫声:咩咩咩~~~” public void cry(){ System.out.println("小羊的叫声:咩咩咩~~~"); } }
这是哪里的问题呢
6
收起
正在回答
1回答
同学你好,1、Test类中第一个循环没有成功闭合,建议同学添加对应的花括号(})
2、第二个循环中出现多个语法错误问题。具体如下所示:
在第二个循环中直接调用cry()方法就可以了。修改后代码如下所示:
3、优化代码,调用cry方法在一个循环就实现,不需要定义第二个循环。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星