gpt4 book ai didi

java - 计算 ArrayList 中不同对象类型的数量

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:36 24 4
gpt4 key购买 nike

对于这个程序,我有一个动物数组列表,其中包含来自两个子类(鱼类和老虎类)的对象,我很难弄清楚如何计算每个项目类型以便打印出来。我需要它来表达像 There are 3 tigers and 2 fish 这样的话。到目前为止,这是我的代码

import java.util.*;
public class Menagerie{
public static void main(String [] args){
/* ArrayList to hold animal data */
ArrayList<Animal> alist = new ArrayList<Animal>();
/* object creations */
Tiger jtiger = new Tiger("Javan Tiger", "Tiger acreage #6");
Fish fnfish = new Fish("False network catfish", "Fresh Water");
Tiger btiger = new Tiger("Bengal tiger", "Ritchie area of RIT");
Fish shark = new Fish("Shark", "Salt Water");
Tiger stiger = new Tiger("Siberian Tiger", "Tiger acreage #4");

/* Adding objects to alist ArrayList */

alist.add(jtiger);
alist.add(fnfish);
alist.add(btiger);
alist.add(shark);
alist.add(stiger);

/* printing out animal information using toString() */

System.out.println("Report on animals...");
System.out.println(jtiger.toString());
System.out.println(fnfish.toString());
System.out.println(btiger.toString());
System.out.println(shark.toString());
System.out.println(stiger.toString());





}


}

任何帮助都会很棒!谢谢。

最佳答案

1.) 遍历 alist

for(Animal animal : alist){

}

2.) 有两个计数器,一个用于tigerCount,另一个用于fishCount

3.) 检查instanceOf class,并相应地increment

  for(Animal animal : alist){
if(animal instanceOf Fish){
fishCount++;

}else if(animal instanceOf Tiger){
tigerCount++;
}
}

instanceof关键字是一个二元运算符,用于测试对象(实例)是否是给定类型的子类型。

instanceof operator is used to check the type of an object at runtime. It is the means by which your program can obtain run-time type information about an object. instanceof operator is also important in case of casting object at runtime. instanceof operator return boolean value, if an object reference is of specified type then it return true otherwise false.

关于java - 计算 ArrayList 中不同对象类型的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com