Java 如何在数组循环中添加类的多个实例?
主类是Zoo,Animal类通过从每个不同的动物(其他类)调用pinStick方法来执行多态性 在zoo数组循环中,int r的值由Math.random决定,每次为1或0,导致尖叫或咆哮,具体取决于调用的动物类 我的问题是,如何在每次调用鼠标或狮子时(在if语句中)包含要打印的类Monkey的实例 目的是添加monkey类的新实例,以便在结果打印输出中显示“OoOoAhAh”以及“Squeak”和“Roar”Java 如何在数组循环中添加类的多个实例?,java,Java,主类是Zoo,Animal类通过从每个不同的动物(其他类)调用pinStick方法来执行多态性 在zoo数组循环中,int r的值由Math.random决定,每次为1或0,导致尖叫或咆哮,具体取决于调用的动物类 我的问题是,如何在每次调用鼠标或狮子时(在if语句中)包含要打印的类Monkey的实例 目的是添加monkey类的新实例,以便在结果打印输出中显示“OoOoAhAh”以及“Squeak”和“Roar” public class Zoo { private Animal[] anima
public class Zoo {
private Animal[] animals;
public Zoo() {
animals = new Animal[10];
}
public void talkAnimals() {
int r;
for (int i = 0; i < 10; i++) {
r = (int) Math.round(Math.random());
if (r == 0) {
animals[i] = new Mouse();
} else{
animals[i] = new Lion();
}
}
for (int i = 0; i < 10; i++) {
animals[i].pinStick();
}
}
public static void main(String[] args) {
// TODO code application logic here
new Zoo().talkAnimals();
}
}
}
}
}
目的是添加monkey类的新实例,以便在结果打印输出中显示“OoOoAhAh”以及“Squeak”和“Roar”
public class Zoo {
private Animal[] animals;
public Zoo() {
animals = new Animal[10];
}
public void talkAnimals() {
int r;
for (int i = 0; i < 10; i++) {
r = (int) Math.round(Math.random());
if (r == 0) {
animals[i] = new Mouse();
} else{
animals[i] = new Lion();
}
}
for (int i = 0; i < 10; i++) {
animals[i].pinStick();
}
}
public static void main(String[] args) {
// TODO code application logic here
new Zoo().talkAnimals();
}
您可以为Monkey声明另一个数组
private Animal[] monkeys;
建造师
monkeys = new Monkey[10];
并将新的Monkey对象推入for循环
for (int i = 0; i < 10; i++) {
r = (int) Math.round(Math.random());
if (r == 0) {
animals[i] = new Mouse();
} else{
animals[i] = new Lion();
}
monkeys[i] = new Monkey();
}
for(int i=0;i<10;i++){
r=(int)Math.round(Math.random());
如果(r==0){
动物[i]=新老鼠();
}否则{
动物[我]=新狮子;
}
猴子[我]=新猴子();
}
然后,在for循环中,只需执行打印工作
for (int i = 0; i < 10; i++) {
animals[i].pinStick();
monkeys[i].pinStick();
}
for(int i=0;i<10;i++){
动物[i].细针();
猴子[i].细针();
}
你的问题是如何在你的动物园中随机添加一只猴子吗?不,问题是当这两个类中的任何一个出现时如何包含猴子类“ooahh”:但是每次循环运行时,如果(r==0){anies[I]=new Mouse();}否则{anies[I]=new Lion(),我必须让它打印猴子类的一个实例}是印刷的……像这样:吱吱!啊啊啊哈!吱吱声啊啊啊哈!吼叫啊啊啊哈!吱吱声啊啊啊哈!吱吱声啊啊啊哈!吼叫啊啊啊哈!吱吱声啊啊啊哈!吱吱声啊啊啊哈!吼叫啊啊啊哈!吱吱声啊啊啊哈!是的,就是这样,这只是一项关于数组和多态性的任务,包括有吼叫和吱吱声输出的猴子对我来说很棘手。猴子
将取代刚刚添加的鼠标
或狮子
,你将看到一个满是猴子
的动物园。为什么它会取代鼠标或狮子?它是在单独的数组对象(动物和猴子)中分配的,我已经对它进行了测试。我的错误是:我没有发现您使用的是单独的猴子
数组。
monkeys = new Monkey[10];
for (int i = 0; i < 10; i++) {
r = (int) Math.round(Math.random());
if (r == 0) {
animals[i] = new Mouse();
} else{
animals[i] = new Lion();
}
monkeys[i] = new Monkey();
}
for (int i = 0; i < 10; i++) {
animals[i].pinStick();
monkeys[i].pinStick();
}