close
  • 某公司銷售5種產品,目前有3位銷售人員,下表是該月份的銷售量表,產品單價為:產品A(12元),產品B(16元),產品C(10元),產品D(14元),產品E(15元),列印出下表內容。
  1. 每個銷售員之銷售總金額
  2. 每一項產品的銷售總金額
  3. 最佳銷售員(依銷售金額)
  4. 最佳銷售產品(依銷售金額)

-002.jpg

 

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
arrow
arrow
    文章標籤
    JAVA 程式設計 矩陣 for
    全站熱搜

    ALVIN 發表在 痞客邦 留言(0) 人氣()