gpt4 book ai didi

Java程序进行短路和计数

转载 作者:行者123 更新时间:2023-12-01 19:42:48 25 4
gpt4 key购买 nike

born | died
1902 1991
1941 1978
2004
1957
1989 2008
1909 2005
1918
1913 2010
1979
1961 2002
1977 2003
1909 1991

我需要编写一个方法,获取上述信息并返回每年人口低于前一年的情况。

我是java初学者。有人可以帮助我如何实现这一目标吗?

public class Lifespan {

public static void main(String[] args) {
Lifespan lifespan = new Lifespan();
lifespan.computeLifeSpan();
}

public void computeLifeSpan() {

List<String> input = new ArrayList<String>();
Map<String,String> map = new HashMap<String,String>();

input.add("1902:1991");
input.add("1941:1978");
input.add("2004:");

List<LifeSpanModel> filteredInput = new ArrayList<LifeSpanModel>();
LifeSpanModel lifeSpanModel;
int population = 0;
for(String record:input) {
lifeSpanModel= new LifeSpanModel();
String earchRecord[] = record.split(":");
lifeSpanModel.setBornYear(earchRecord[0]);
lifeSpanModel.setDiedYear( earchRecord.length == 1 ? "Alive" : earchRecord[1]);
filteredInput.add(lifeSpanModel);
String k=map.get(lifeSpanModel.getBornYear());
if(map.get(lifeSpanModel.getBornYear())!= null) { // add alive person here
population = population + 1;
map.put(lifeSpanModel.getBornYear(), lifeSpanModel.getDiedYear());
}else {
map.put(lifeSpanModel.getBornYear(), lifeSpanModel.getDiedYear());
}

}

}

}
  • 如果人口中的某一成员出生于某一年,他们将计入那一年的人口。
  • 同样,如果人口中的某一成员在某一年死亡,他们也将计入那一年的人口。
  • 死亡一栏为空表示还活着

对于该示例,正确的实现将返回以下年份:1992、2003、2006、2009、2011。

最佳答案

每一行基本上都是一个人。您可以创建一个类,以便可以询问这个人是否还活着。

var person = new Person(1990, 2000);
person.wasAliveIn(1998);

那么这只是一个迭代多年来并计算任意给定年份有多少人活着的问题。

关于Java程序进行短路和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54664797/

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