急求一Java程序,根据每几秒出生率死亡率迁移率计算每年总人口数
答案:2 悬赏:0 手机版
解决时间 2021-02-03 15:55
- 提问者网友:不爱我么
- 2021-02-03 03:54
急求一Java程序,根据每几秒出生率死亡率迁移率计算每年总人口数
最佳答案
- 五星知识达人网友:封刀令
- 2021-02-03 05:17
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Calculate {
public static void main(String[] args) {
// TODO Auto-generated method stub
long nowNum = 312032486;
int birth = 7;
int death = 13;
int immigrant = 45;
long birthSum = 0;
long deathSum = 0;
long immigrantSum = 0;
for(int i=1;i<=5;i++)
{
long time = i*365*24*60*60;
birthSum = (long)((double)time / (double)birth);
deathSum = (long)((double)time / (double)death);
immigrantSum = (long)((double)time / (double)immigrant);
nowNum = nowNum + birthSum - deathSum + immigrantSum;
System.out.println(nowNum);
}
}
}追问编译可以通过,但是运行不了追答public static void main(String[] args) {
long nowNum = 312032486; // 起始年人数初始值
int birth = 7; // 出生周期(s)
int death = 13; // 死亡周期(s)
int immigrant = 45; // 移民周期(s)
long birthSum = 0; // 出生人数
long deathSum = 0; // 死亡人数
long immigrantSum = 0; // 移民人数
// 循环计算从第一年至第五年每年的人数变化
for(int i=1;i<=5;i++)
{
long time = i*365*24*60*60; // 因为年限的变化导致时间长度变化,由i控制
birthSum = (long)((double)time / (double)birth); // 该时间长度下的出生人数
deathSum = (long)((double)time / (double)death); // 该时间长度下的死亡人数
immigrantSum = (long)((double)time / (double)immigrant); // 该时间长度下的移民人数
nowNum = nowNum + birthSum - deathSum + immigrantSum; // 计算该年人数(注意此处是以年为跨度的)
System.out.println(nowNum); // 按行将该年的人数输出到屏幕上
}
}
}
***************************************************
下面是计算结果的截图:
5年之内每年的计算结果就这样展示出来了。你没说原因,这里我不太明白你为什么编译过了却没有结果,希望你再调试一下,有问题可以再聊。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Calculate {
public static void main(String[] args) {
// TODO Auto-generated method stub
long nowNum = 312032486;
int birth = 7;
int death = 13;
int immigrant = 45;
long birthSum = 0;
long deathSum = 0;
long immigrantSum = 0;
for(int i=1;i<=5;i++)
{
long time = i*365*24*60*60;
birthSum = (long)((double)time / (double)birth);
deathSum = (long)((double)time / (double)death);
immigrantSum = (long)((double)time / (double)immigrant);
nowNum = nowNum + birthSum - deathSum + immigrantSum;
System.out.println(nowNum);
}
}
}追问编译可以通过,但是运行不了追答public static void main(String[] args) {
long nowNum = 312032486; // 起始年人数初始值
int birth = 7; // 出生周期(s)
int death = 13; // 死亡周期(s)
int immigrant = 45; // 移民周期(s)
long birthSum = 0; // 出生人数
long deathSum = 0; // 死亡人数
long immigrantSum = 0; // 移民人数
// 循环计算从第一年至第五年每年的人数变化
for(int i=1;i<=5;i++)
{
long time = i*365*24*60*60; // 因为年限的变化导致时间长度变化,由i控制
birthSum = (long)((double)time / (double)birth); // 该时间长度下的出生人数
deathSum = (long)((double)time / (double)death); // 该时间长度下的死亡人数
immigrantSum = (long)((double)time / (double)immigrant); // 该时间长度下的移民人数
nowNum = nowNum + birthSum - deathSum + immigrantSum; // 计算该年人数(注意此处是以年为跨度的)
System.out.println(nowNum); // 按行将该年的人数输出到屏幕上
}
}
}
***************************************************
下面是计算结果的截图:
5年之内每年的计算结果就这样展示出来了。你没说原因,这里我不太明白你为什么编译过了却没有结果,希望你再调试一下,有问题可以再聊。
全部回答
- 1楼网友:夜风逐马
- 2021-02-03 06:47
public class Test1 {
public static void getPerFiveYearPopulation() {
int totalTime=5*365*24*60*60;
int increasePopulation=totalTime/7+totalTime/45-totalTime/13;
int totalPopulation=increasePopulation+312023486;
System.out.println(totalPopulation);
}
public static void main(String[] args) {
getPerFiveYearPopulation();
}
}追问是接下来五年的,不是五年之后的
public static void getPerFiveYearPopulation() {
int totalTime=5*365*24*60*60;
int increasePopulation=totalTime/7+totalTime/45-totalTime/13;
int totalPopulation=increasePopulation+312023486;
System.out.println(totalPopulation);
}
public static void main(String[] args) {
getPerFiveYearPopulation();
}
}追问是接下来五年的,不是五年之后的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯