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]));
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.