java - Java中具有多个类的Varargs问题
问题描述
因此,当我创建具有多个类的变量参数时,我遇到了问题。正如您在下面的代码中看到的那样,我只是尝试以随机顺序包含多个城市和地区,并尝试打印出整个州的人口。除了问题是我不知道如何遍历我的 CAndD 数组以便将所有人口加在一起。
代码:
public class Main {
public static void main(String args[]) {
State S = new State("Florida", new District("Miami-Dade", 2752000),
new City("Miami", 463347),
new City("Tampa", 385430),
new District("Broward", 1936000));
System.out.println("The Population is: " + S.getPopulation());
}
}
class CitiesAndDistricts {
}
class City extends CitiesAndDistricts{
String name;
int population;
public City(String name, int population) {
this.name = name;
this.population = population;
}
}
class District extends CitiesAndDistricts{
String name;
int population;
public District(String name, int population) {
this.name = name;
this.population = population;
}
}
class State {
String name;
int population;
CitiesAndDistricts[] CAndD;
public State(String name, CitiesAndDistricts ... entities) {
this.name = name;
CAndD = entities;
for(int i = 0; i < CAndD.length; i++) {
this.population += CAndD[i].population;
}
}
public int getPopulation() {
return population;
}
}
如果有人能帮我解决这个问题,那就太好了!
解决方案
请看下面的代码,我已将人口变量从 City 和 District 移动到父类:
public class Main {
public static void main(String args[]) {
State S = new State("Florida", new District("Miami-Dade", 2752000),
new City("Miami", 463347),
new City("Tampa", 385430),
new District("Broward", 1936000));
System.out.println("The Population is: " + S.getPopulation());
}
}
class CitiesAndDistricts {
int population;
}
class City extends CitiesAndDistricts{
String name;
public City(String name, int population) {
this.name = name;
this.population = population;
}
}
class District extends CitiesAndDistricts{
String name;
public District(String name, int population) {
this.name = name;
this.population = population;
}
}
class State {
String name;
int population;
CitiesAndDistricts[] CAndD;
public State(String name, CitiesAndDistricts ... entities) {
this.name = name;
CAndD = entities;
for(int i = 0; i < CAndD.length; i++) {
this.population += CAndD[i].population;
}
}
public int getPopulation() {
return population;
}
}
推荐阅读
- google-analytics - 如何使用@redux-beacon/google-analytics 让多个跟踪器工作?
- android - 应用程序找不到外部服务 - 为什么会这样?
- jquery - 如何在 jquery 过滤器中使用选择选项的数据属性?
- javascript - NodeJS(后端)从 POST 调用接收数据,那么如何在 ReactJS(前端)中显示?
- python - discord.py 测试角色不起作用。总是返回 false
- xml - 将 XML 复制到新目录,创建副本,然后根据内部内容重命名重复文件
- c - 如何将 ISO8601 解析为 time_t?
- javascript - 在 MVC 项目中使用 JavaScript 调用控制器函数
- php - 从ini文件中删除特定值
- java - 使用 Allure 报告在 Java&TestNG 中生成屏幕截图