Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package observer;
- import java.util.Scanner;
- public class QuarterlySalesStats {
- public static void main(String[] args) {
- @SuppressWarnings("resource")
- Scanner chris = new Scanner(System.in);
- int[][] salesFigures = new int[6][4];
- /*
- salesFigures[0][0] = 432;
- salesFigures[0][1] = 443;
- salesFigures[0][2] = 654;
- salesFigures[0][3] = 865;
- salesFigures[1][0] = 234;
- salesFigures[1][1] = 986;
- salesFigures[1][2] = 458;
- salesFigures[1][3] = 764;
- salesFigures[2][0] = 889;
- salesFigures[2][1] = 234;
- salesFigures[2][2] = 564;
- salesFigures[2][3] = 974;
- salesFigures[3][0] = 643;
- salesFigures[3][1] = 653;
- salesFigures[3][2] = 434;
- salesFigures[3][3] = 835;
- salesFigures[4][0] = 953;
- salesFigures[4][1] = 423;
- salesFigures[4][2] = 754;
- salesFigures[4][3] = 893;
- salesFigures[5][0] = 678;
- salesFigures[5][1] = 652;
- salesFigures[5][2] = 946;
- salesFigures[5][3] = 835;
- */
- // ==== Input sales numbers ====
- // salesFigures.length is length of first dimension, 6
- for(int i = 0; i < salesFigures.length; i++) {
- int temp = 0;
- // salesFigures.length is length of second dimension, 6
- for(int j = 0; j < salesFigures[0].length; j++) {
- // prevents negative input
- temp = -1;
- while(temp < 0) {
- System.out.print("Enter division " + (i + 1) + "'s sales figure for quarter " + (j + 1) + ": ");
- temp = chris.nextInt();
- }
- salesFigures[i][j] = temp;
- }
- }
- System.out.println();
- System.out.println("=== Quarterly Sales Figures ===");
- System.out.println();
- System.out.println("-----------");
- System.out.println("LISTING");
- System.out.println("-----------");
- System.out.println();
- for(int i = 0; i < salesFigures.length; i++) {
- System.out.println("Division: " + (i + 1));
- System.out.println("-----------");
- for(int j = 0; j < salesFigures[0].length; j++) {
- if(j < 1) {
- System.out.println("Quarter 1: " + salesFigures[i][j]);
- } else {
- System.out.println("Quarter " + (j + 1) + ": " + salesFigures[i][j] + computeChange(salesFigures[i][j-1], salesFigures[i][j]));
- }
- }
- System.out.println();
- }
- System.out.println("-----------");
- System.out.println("STATS");
- System.out.println("-----------");
- System.out.println();
- int prevTotal = 0;
- for(int i = 0; i < 4; i++) {
- System.out.println("Quarter " + (i + 1));
- System.out.print(" Total: " + (computeQuarterlySales(i, salesFigures).replace("+", "").replace("-", "")));
- if (i>0) {
- System.out.print(computeChange(prevTotal, Integer.parseInt(computeQuarterlySales(i, salesFigures))));
- }
- System.out.print("\n Average: " + (averageQuarterlySales(i, salesFigures).replace("+", "").replace("-", "")));
- int bestDivision = detBestDivision(i, salesFigures);
- System.out.println("\n Highest sales: division " + (bestDivision + 1 )+ " (" + salesFigures[bestDivision][i] + ")");
- prevTotal = Integer.parseInt(computeQuarterlySales(i, salesFigures));
- }
- }
- public static int detBestDivision(int quarter, int[][] sales) {
- int topDiv = 0;
- int topSales = 0;
- for(int i = 0; i < sales.length; i++) {
- if(sales[i][quarter] > topSales) {
- topDiv = i;
- topSales = sales[i][quarter];
- }
- }
- return topDiv;
- }
- //modded
- public static String averageQuarterlySales(int quarter, int[][] sales) {
- //We parse to int here because we changer return type fo computequarterlysales to String (you can change this)
- double average = (double) Integer.parseInt(computeQuarterlySales(quarter, sales))/6;
- String rounded = String.format("%.2f", average);
- return rounded;
- }
- //Added the sign to this, you can remove it too
- public static String computeQuarterlySales(int quarter, int[][] sales) {
- int total = 0;
- String result = "";
- for(int i = 0; i < sales.length; i++) {
- total += sales[i][quarter];
- }
- result = Integer.toString(total);
- return result;
- }
- //added sign here as well.
- public static String computeDivisionSales(int division, int[][] sales) {
- String result = "";
- int total = 0;
- for(int i = 0; i < 4; i++) {
- total += sales[division][i];
- }
- result = Integer.toString(total);
- return result;
- }
- public static String computeChange(int before, int after) {
- String change = "";
- int difference = after - before;
- if(difference > 0) {
- change = " (+" + difference + ")";
- } else {
- change = " (" + difference + ")";
- }
- return change;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement