Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

import java.util.*; import java.text.DecimalFormat; import java.text.NumberForma

ID: 3626103 • Letter: I

Question

import java.util.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class QuarterlySales
{
public static void main(String args[])
{
double sum[ ]=new double[4];
double sales[][] = new double[6][4];
NumberFormat formatter = new DecimalFormat("#,000.00");
getSales(sales);
printSales(sales,formatter);
quarterlyIncrease(sales,formatter);
quarterSales(sales,sum,formatter);
quarterSumIncrease(sum,formatter);
quarterAverage(sum,formatter);
highestDivision(sales);
}
public static void highestDivision(double sales[][])
{
System.out.println(" DIVISION WITH THE HIGHEST SALES PER QUARTER ==================================");
int i,j,max=0;
double maxvalue;
for(i=0;i<4;i++)
{
maxvalue=-1;
for(j=0;j<6;j++)
if(sales[j][i]>maxvalue)
{
max=j;
maxvalue=sales[j][i];
}
System.out.println("Highest division for quarter "+(i+1)+" is division " + (max+1));
}
}
public static void quarterAverage(double sum[],NumberFormat f)
{
System.out.println(" AVERAGE SALES PER QUARTER =============================");
for(int j=0;j<4;j++)
System.out.println("Quarter "+(j+1)+": $"+f.format(sum[j]/6.));
}
public static void quarterSumIncrease(double sum[],NumberFormat f)
{System.out.println(" QUARTERLY INCREASE/DECREASE FOR THE COMPANY ====================================");
for(int j=1;j<4;j++)
System.out.println("Quarter "+(j+1)+": $"+f.format(sum[j]-sum[j-1]));
}
public static void quarterSales(double sales[][],double sum[],NumberFormat f)
{
System.out.println(" SALES AMOUNTS BY QUARTER ========================");
int i,j;
for(i=0;i<4;i++)
{
sum[i]=0;
for(j=0;j<6;j++)
sum[i]+=sales[j][i];
}
for(j=0;j<4;j++)
System.out.println("Quarter "+(j+1)+": $"+f.format(sum[j]));
}
public static void quarterlyIncrease(double sales[][],NumberFormat f)
{System.out.println(" QUARTERLY INCREASE/DECREASE BY DIVISION ==============================");
for(int i=0;i<6;i++)
{
System.out.println("Division "+(i+1));
for(int j=1;j<4;j++)
System.out.println("Quarter "+(j+1)+"'s increase: $"+f.format(sales[i][j]-sales[i][j-1]));
}
}
public static void printSales(double sales[][],NumberFormat f)
{System.out.println(" SALES AMOUNTS BY DIVISION =========================");
for(int i=0;i<6;i++)
{
System.out.println("Division "+(i+1));
for(int j=0;j<4;j++)
System.out.println("Quarter "+(j+1)+": $"+f.format(sales[i][j]));
}
}
public static void getSales(double sales[][])
{
Scanner input = new Scanner(System.in);
int i,j;
for(i = 0; i < 6; i++)
for(j = 0; j < 4; j++)
{
System.out.print("Enter sales for quarter " + (j+1) + " for division " + (i+1) + ": ");
sales[i][j] = input.nextDouble();
}
}
}

Explanation / Answer

QuarterlySales.java

import java.text.DecimalFormat;
import java.text.NumberFormat;
public class QuarterlySales
{
   

   
    private Division[] divisions;
    private NumberFormat formatter;
    private double sum[ ]=new double[4];
   
    public QuarterlySales(int numDivisions) {
        divisions = new Division[numDivisions];
        formatter = new DecimalFormat("#,000.00");
        for (int i = 1; i <= numDivisions; i++) {
            divisions[i-1] = new Division(i,formatter);
        }
       
    }
   
    public void highestDivision()
    {
        System.out.println(" DIVISION WITH THE HIGHEST SALES PER QUARTER ==================================");
        int i,j,max=0;
        double maxvalue;
        for(i=0;i<4;i++)
        {
            maxvalue=-1;
            for(j=0;j<6;j++)
                if(divisions[j].getSales(i)>maxvalue)
                {
                    max=j;
                    maxvalue=divisions[j].getSales(i);
                }
            System.out.println("Highest division for quarter "+(i+1)+" is division " + (max+1));
        }
    }
    public void quarterAverage()
    {
        System.out.println(" AVERAGE SALES PER QUARTER =============================");
        for(int j=0;j<4;j++)
            System.out.println("Quarter "+(j+1)+": $"+formatter.format(sum[j]/6.));
    }
    public void quarterSumIncrease()
    {System.out.println(" QUARTERLY INCREASE/DECREASE FOR THE COMPANY ====================================");
    for(int j=1;j<4;j++)
        System.out.println("Quarter "+(j+1)+": $"+formatter.format(sum[j]-sum[j-1]));
    }
    public void quarterSales()
    {
        System.out.println(" SALES AMOUNTS BY QUARTER ========================");
        int i,j;
        for(i=0;i<4;i++)
        {
            sum[i]=0;
            for(Division div : divisions) {
                sum[i]+=div.getSales(i);
            }
        }
        for(j=0;j<4;j++)
            System.out.println("Quarter "+(j+1)+": $"+formatter.format(sum[j]));
    }
    public void quarterlyIncrease()
    {System.out.println(" QUARTERLY INCREASE/DECREASE BY DIVISION ==============================");
    for (Division div : divisions) {
        div.quarterlyIncrease();
    }
   
    }
    public void printSales()
    {System.out.println(" SALES AMOUNTS BY DIVISION =========================");
    for(Division div : divisions)
    {
        div.printSales(formatter);
    }

    }
    public void getSales()
    {
        for (Division div : divisions) div.getSales();
       
    }

   
    public static void main(String args[])
    {
       
       
        QuarterlySales qs = new QuarterlySales(6);
       
        qs.getSales();
        qs.printSales();
        qs.quarterlyIncrease();
        qs.quarterSales();
        qs.quarterSumIncrease();
        qs.quarterAverage();
        qs.highestDivision();
    }

}

---------------------------

Division.java

import java.text.NumberFormat;
import java.util.Scanner;

public class Division {
    private double [] sales = new double [4];
    private int divNum;
    NumberFormat f;
    public Division(int divNum, NumberFormat f) {
        this.divNum = divNum;
        this.f = f;
    }
    public void getSales() {
        Scanner input = new Scanner(System.in);
       
        for(int j = 0; j < 4; j++)
            {
            System.out.print("Enter sales for quarter " + (j+1) + " for division " + divNum + ": ");
            sales[j] = input.nextDouble();
                while (sales[j] < 0) {
                    System.out.println("Negative numbers not accepted!!!!");
                    System.out.print("Enter sales for quarter " + (j+1) + " for division " + divNum + ": ");
                    sales[j] = input.nextDouble();
                }
            }
    }
    public double getSales(int quarter) {
        return sales[quarter];
    }
   
    public void printSales(NumberFormat f) {
        System.out.println("Division "+divNum);
        for(int j=0;j<sales.length; j++) {
            System.out.println("Quarter "+(j+1)+": $"+f.format(sales[j]));
        }
    }

    public void quarterlyIncrease() {
        System.out.println("Division "+divNum);
        for(int j=1;j<4;j++)
            System.out.println("Quarter "+(j+1)+"'s increase: $"+f.format(sales[j]-sales[j-1]));
    }
}