Java黑皮书课后题第8章:**8.4(计算每个雇员每周工作的小时数)假定所有雇员每周工作的小时数存储在一个二维数组中。1行包含7列,记录了一个雇员7天的工作小时数。编写一个程序,按照总工时降序显示
生活随笔
收集整理的這篇文章主要介紹了
Java黑皮书课后题第8章:**8.4(计算每个雇员每周工作的小时数)假定所有雇员每周工作的小时数存储在一个二维数组中。1行包含7列,记录了一个雇员7天的工作小时数。编写一个程序,按照总工时降序显示
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
**8.4(計算每個雇員每周工作的小時數(shù))假定所有雇員每周工作的小時數(shù)存儲在一個二維數(shù)組中。1行包含7列,記錄了一個雇員7天的工作小時數(shù)。編寫一個程序,按照總工時降序顯示
- 題目
- 題目描述
- 破題
- 代碼
- 運行實例
題目
題目描述
**8.4(計算每個雇員每周工作的小時數(shù))假定所有雇員每周工作的小時數(shù)存儲在一個二維數(shù)組中。1行包含7列,記錄了一個雇員7天的工作小時數(shù)。例如,下面數(shù)組存儲了8個雇員的工作小時數(shù)。編寫一個程序,按照總工時降序顯示雇員和他們的總工時
破題
代碼
import java.util.Arrays;public class Test8_4 {public static void main(String[] args) {//1. 新建一個8*7的二維數(shù)組,賦值int[][] emplayees_workhours = {{2, 4, 3, 4, 5, 8, 8},{7, 3, 4, 3, 3, 4, 4},{3, 3, 4, 3, 3, 2, 2},{9, 3, 4, 7, 3, 4, 1},{3, 5, 4, 3, 6, 3, 8},{3, 4, 4, 6, 3, 4, 4},{3, 7, 4, 8, 3, 8, 4},{6, 3, 5, 9, 2, 7, 9},};int raw = emplayees_workhours.length;int col = emplayees_workhours[0].length;//2. 再新建一個長度為8的一維數(shù)組,存儲每位員工工作小時數(shù)int[] emplayee_workhours_sum = new int[raw];//3. 創(chuàng)建一個int型對象存儲工作小時數(shù)加和,賦初始值為0int sum = 0;//4. 雙層循環(huán)語句遍歷二維數(shù)組,行下標從0開始7結(jié)束 列下標從0開始6結(jié)束for (int a = 0 ; a < raw ; a++){//5. 循環(huán)體內(nèi)(第一層內(nèi)):賦第三步創(chuàng)建的存儲加和對象值為0sum = 0;for (int b = 0 ; b < col ; b++){//6. 循環(huán)體內(nèi)(第二層內(nèi)):對每行元素進行加和sum += emplayees_workhours[a][b];}//7. 循環(huán)體內(nèi)(第一層內(nèi)):將加和賦值給一維數(shù)組emplayee_workhours_sum[a] = sum;}//8. 新建另一個一維數(shù)組,長度等于第二步創(chuàng)建的一維數(shù)組int[] copy = new int[raw];//9. 原一維數(shù)組復制給新創(chuàng)建的一維數(shù)組System.arraycopy(emplayee_workhours_sum, 0 , copy, 0, raw);//10. 對新一維數(shù)組進行排序Arrays.sort(copy);//11. 遍歷新一維數(shù)組元素,匹配到則輸出雇員編號(原數(shù)組下標)和元素值,輸出后則將元素值置0for (int a = copy.length - 1 ; a >= 0 ; a--){//與原有一維數(shù)組進行匹配for (int b = 0 ; b < emplayee_workhours_sum.length ; b++){if (copy[a] == emplayee_workhours_sum[b]){System.out.println("Employee " + b + " 一周工作" + copy[a] + "小時");emplayee_workhours_sum[b] = 0;}}}} }運行實例
Employee 7 一周工作41小時 Employee 6 一周工作37小時 Employee 0 一周工作34小時 Employee 4 一周工作32小時 Employee 3 一周工作31小時 Employee 1 一周工作28小時 Employee 5 一周工作28小時 Employee 2 一周工作20小時總結(jié)
以上是生活随笔為你收集整理的Java黑皮书课后题第8章:**8.4(计算每个雇员每周工作的小时数)假定所有雇员每周工作的小时数存储在一个二维数组中。1行包含7列,记录了一个雇员7天的工作小时数。编写一个程序,按照总工时降序显示的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java黑皮书课后题第8章:*8.3(按
- 下一篇: Java黑皮书课后题第8章:*8.5(代