close
- 某公司銷售5種產品,目前有3位銷售人員,下表是該月份的銷售量表,產品單價為:產品A(12元),產品B(16元),產品C(10元),產品D(14元),產品E(15元),列印出下表內容。
- 每個銷售員之銷售總金額
- 每一項產品的銷售總金額
- 最佳銷售員(依銷售金額)
- 最佳銷售產品(依銷售金額)
public class P629 { public static void main(String[] args) { // 基本邏輯和P628差不多,用矩陣將標格印出int[][] a = { { 33, 32, 56, 45, 33 }, { 77, 33, 68, 45, 23 }, { 43, 55, 43, 67, 65 } }; // 存放各銷售員總金額,各產品總金額,業績最高者,產品最暢銷者,顯示銷售員號碼int iTotalAmountOfSales_M1, iTotalAmountOfSales_M2, iTotalAmountOfSales_M3, iTotalAmountOfSales_Pa,iTotalAmountOfSales_Pb, iTotalAmountOfSales_Pc, iTotalAmountOfSales_Pd, iTotalAmountOfSales_Pe, topM,topP, topM_N; // 顯示產品名稱,字元型態char topP_N = 'A'; iTotalAmountOfSales_M1 = iTotalAmountOfSales_M2 = iTotalAmountOfSales_M3 = iTotalAmountOfSales_Pa = iTotalAmountOfSales_Pb = iTotalAmountOfSales_Pc = iTotalAmountOfSales_Pd = iTotalAmountOfSales_Pe = topM = topP = topM_N = topP_N = 0; // 印出原數值,只有銷售額System.out.println("原數值:銷售量"); // 印出標題System.out.println("銷售員\t\t產品A\t產品B\t產品C\t產品D\t產品E");for (int i = 0; i < a.length; i++) {// 印出左欄System.out.print("銷售員 " + (i + 1) + "\t\t ");// 印出各欄for (int j = 0; j < a[0].length; j++) {System.out.print(a[i][j] + "\t ");} // 斷行從新的一行印System.out.println();}System.out.println(); // 題目要求要知道哪個銷售員和產品之金額// 所以直接將矩陣單價金額加權進去後,再重新指定給原矩陣// 矩陣各欄位顯示由原先的銷售量變為銷售金額// 再搭配for迴圈加總即可System.out.println("產品金額權重化後之數值:銷售金額"); // 印出標題 System.out.println("銷售員\t\t產品A\t產品B\t產品C\t產品D\t產品E"); for (int i = 0; i < a.length; i++) { a[i][0] = a[i][0] * 12; a[i][1] = a[i][1] * 16; a[i][2] = a[i][2] * 10; a[i][3] = a[i][3] * 14; a[i][4] = a[i][4] * 15; } for (int i = 0; i < a.length; i++) { // 印出左欄 System.out.print("銷售員 " + (i + 1) + "\t\t "); for (int j = 0; j < a[0].length; j++) { // 印出各欄 System.out.print(a[i][j] + "\t "); } // 斷行從新的一行印 System.out.println(); } System.out.println(); // 計算各銷售員銷售總金額for (int i = 0; i < a[1].length; i++) {iTotalAmountOfSales_M1 = iTotalAmountOfSales_M1 + a[0][i];iTotalAmountOfSales_M2 = iTotalAmountOfSales_M2 + a[1][i];iTotalAmountOfSales_M3 = iTotalAmountOfSales_M3 + a[2][i];} // 印出各銷售員銷售總金額System.out.println("銷售員 1 銷售總金額為: " + iTotalAmountOfSales_M1);System.out.println("銷售員 2 銷售總金額為: " + iTotalAmountOfSales_M2);System.out.println("銷售員 3 銷售總金額為: " + iTotalAmountOfSales_M3); // 將各銷售員之銷售總金額代入矩陣topmarr,搭配for迴圈,找出最大值int[] topmarr = { iTotalAmountOfSales_M1, iTotalAmountOfSales_M2, iTotalAmountOfSales_M3 };for (int i = 0; i < topmarr.length; i++) { // 如果topM比topmarr[i]小(i值為0即代表iTotalAmountOfSales_M1,1號銷售員)// 將值指定給topM(銷售金額最高者),i值指定給topM_N(銷售員號碼) if (topM < topmarr[i]) { topM = topmarr[i]; topM_N = i; } }// 矩陣索引值從0開始起算,所以還要再加1System.out.println("業績最好的是 " + (topM_N + 1) + " 號銷售員,銷售總金額為: " + topM); System.out.println(); // 計算各產品銷售總金額for (int i = 0; i < a.length; i++) {iTotalAmountOfSales_Pa = iTotalAmountOfSales_Pa + a[i][0];iTotalAmountOfSales_Pb = iTotalAmountOfSales_Pb + a[i][1];iTotalAmountOfSales_Pc = iTotalAmountOfSales_Pc + a[i][2];iTotalAmountOfSales_Pd = iTotalAmountOfSales_Pd + a[i][3];iTotalAmountOfSales_Pe = iTotalAmountOfSales_Pe + a[i][4]; } // 印出各產品銷售總金額System.out.println("產品A銷售總金額為: " + iTotalAmountOfSales_Pa);System.out.println("產品B銷售總金額為: " + iTotalAmountOfSales_Pb);System.out.println("產品C銷售總金額為: " + iTotalAmountOfSales_Pc);System.out.println("產品D銷售總金額為: " + iTotalAmountOfSales_Pd);System.out.println("產品E銷售總金額為: " + iTotalAmountOfSales_Pe); // 將各產品銷售總金額代入矩陣topparr,搭配for迴圈,找出最大值int[] topparr = { iTotalAmountOfSales_Pa, iTotalAmountOfSales_Pb, iTotalAmountOfSales_Pc,iTotalAmountOfSales_Pd, iTotalAmountOfSales_Pe }; for (int i = 0; i < topparr.length; i++) { // 如果topP小於topparr[i](i值為0即為iTotalAmountOfSales_Pa,產品A)// 將值指定給topP(銷售金額最高者),i值加65後指定給top_Nif (topP < topparr[i]) { topP = topparr[i]; // 由於產品代號是英文字母,改以字元變數來存放// A字元碼為65,B為66,C為67,D為68,E為69// 若i值為3代表為產品D(索引值為3),65+3=68,顯示D// 因運算後預設型態為int,需再強制轉型為字元型態,前面加(char) topP_N = (char) (65 + i); } }System.out.println("賣得最好的是 " + topP_N + " 號產品,銷售總金額為: " + topP); }}
- 輸出結果:
原數值:銷售額銷售員 產品A 產品B 產品C 產品D 產品E銷售員 1 33 32 56 45 33 銷售員 2 77 33 68 45 23 銷售員 3 43 55 43 67 65
產品金額權重化後之數值:銷售金額銷售員 產品A 產品B 產品C 產品D 產品E銷售員 1 396 512 560 630 495 銷售員 2 924 528 680 630 345 銷售員 3 516 880 430 938 975
銷售員 1 銷售總金額為: 2593銷售員 2 銷售總金額為: 3107銷售員 3 銷售總金額為: 3739業績最好的是 3 號銷售員,銷售總金額為: 3739
產品A銷售總金額為: 1836產品B銷售總金額為: 1920產品C銷售總金額為: 1670產品D銷售總金額為: 2198產品E銷售總金額為: 1815賣得最好的是 D 號產品,銷售總金額為: 2198
文章標籤
全站熱搜