日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java黑皮书课后题第1章:*1.11(人口估算)编写一个程序,显示未来5年的每年人口数。假设当前的人口是312 032 486,每年有365天

發布時間:2024/7/23 java 25 豆豆

Java黑皮書課后題第1章:*1.11(人口估算)

  • 題目
    • 題目描述
    • 破題
  • 代碼塊
  • 方法評析
  • 為什么print函數內的表達式不能分開
  • 修改日志

題目

題目描述

*1.11(人口估算)編寫一個程序,顯示未來5年的每年人口數。假設當前的人口是312 032 486,每年有365天。
(每7s出生1人,每13s死亡1人,每45s有移民遷入)
后面提示有點兒冗余,概括一下就是:
5 / 4 = 1
而5.0 / 4 = 1.25 且 5 / 4.0 = 1.25 且 5.0 / 4.0 = 1.25

破題

先假設人口為0,每7s出生1人,每13s死亡1人,每45s有移民遷入
用這仨數分別求出一年出生、死亡、移民遷入的數量(這個時候要帶小數部分)
一年出生+一年遷入-一年死亡=一年凈增長數量
再將求出的凈增長數量直接去掉小數部分
帶入“當前人口312 032 486”
312 032 486+一年凈增長=第一年人口數
312 032 486+2*一年凈增長=第二年人口數
……

另外,312 032 486在Java語法中不存在,如果想每三位數分開一次,需要用_分隔,即312_032_486(可以用在表達式中)

代碼塊

public class Test1_11 {public static void main(String[] args) {/*** 法1思路:適合剛接觸Java* 一年總秒數:365*24*60*60* 一年人口凈增長:365*24*60*60/7.0+365*24*60*60/45.0-365*24*60*60/13.0*/System.out.println(365*24*60*60/7.0+365*24*60*60/45.0-365*24*60*60/13.0);// 求得2780096.7032967033,去掉小數部分為2780096// 當前人口為312 032 486System.out.println("第一年人口:"+(312_032_486+2_780_096));System.out.println("第二年人口:"+(312_032_486+ 2 * 2_780_096));System.out.println("第三年人口:"+(312_032_486+ 3 * 2_780_096));System.out.println("第四年人口:"+(312_032_486+ 4 * 2_780_096));System.out.println("第五年人口:"+(312_032_486+ 5 * 2_780_096));// 法2int people = 312_032_486; // 原先人口數// 一年凈增長double myTime = 365*24*60*60; // 一年秒數double a = myTime / 7.0; // 一年出生double b = myTime / 45.0; // 一年遷入double c = myTime / 13.0; // 一年死亡int increase =(int)(a+b-c); // 一年凈增長// 輸出每年人口System.out.println("第一年人口:"+(people+increase));System.out.println("第二年人口:"+(people+ 2 * increase));System.out.println("第三年人口:"+(people+ 3 * increase));System.out.println("第四年人口:"+(people+ 4 * increase));System.out.println("第五年人口:"+(people+5 * increase));/**輸出:* 2780096.7032967033* 第一年人口:314812582* 第二年人口:317592678* 第三年人口:320372774* 第四年人口:323152870* 第五年人口:325932966* 第一年人口:314812582* 第二年人口:317592678* 第三年人口:320372774* 第四年人口:323152870* 第五年人口:325932966*/} }

方法評析

因為題目并不嚴謹,筆者在求一年出生、一年死亡、一年遷入時是先分別求出帶小數數值double值,再加起來去掉小數部分轉化為不帶小數值int值
當然還有一種方法是在求一年出生、一年死亡、一年遷入時,求的數值不帶小數數值
以上兩種方法兩種結果,代碼塊的兩個方法時用第一種思路做出來的
第二種方法相對第一種更簡單,去掉上面代碼求一年出生、一年死亡、一年遷入表達式中的小數數值和小數點即可

為什么print函數內的表達式不能分開

可見我的另一篇blog:(也是本書1.9)

https://blog.csdn.net/weixin_46356698/article/details/119771883

修改日志

總結

以上是生活随笔為你收集整理的Java黑皮书课后题第1章:*1.11(人口估算)编写一个程序,显示未来5年的每年人口数。假设当前的人口是312 032 486,每年有365天的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。