循环调用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | 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积分~
来为老师/同学的回答评分吧