I need the solution for Tony Gaddis, Starting Out With Java, 4th Edition Chapter
ID: 3632979 • Letter: I
Question
I need the solution for Tony Gaddis, Starting Out With Java, 4th EditionChapter 8, Programming Challenge 6 (Problem 6 on pages 535-536). This problem was not included in the solutions for this book.
Here is the problem, word for word:
Write a program that lets the user enter four quarterly sales figures for six divisions of a company. The figures should be stored in a two-dimensional array. Once the figures are entered, the program should display the following data for each quarter:
- A list of the sales figures by division
- Each division's increase or decrease from the previous quarter (this will not be displayed for the first quarter)
- The total sales for the quarter
- The company's increase or decrease from the previous quarter (this will not be displayed for the first quarter)
- The average sales for all divisions that quarter
- The division with the highest sales for that quarter.
Input validation: Do not accept negative numbers for sales figures.
Explanation / Answer
please rate - thanks
import java.util.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class Gaddis_8_6
{
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)
{int j;
System.out.println(" AVERAGE SALES PER QUARTER =============================");
for(j=0;j<4;j++)
System.out.println("Quarter "+(j+1)+": $"+f.format(sum[j]/6.));
}
public static void quarterSumIncrease(double sum[],NumberFormat f)
{int j;
System.out.println(" QUARTERLY INCREASE/DECREASE FOR THE COMPANY ====================================");
for(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)
{int i,j;
System.out.println(" QUARTERLY INCREASE/DECREASE BY DIVISION ==============================");
for(i=0;i<6;i++)
{System.out.println("Division "+(i+1));
for(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)
{int i,j;
System.out.println(" SALES AMOUNTS BY DIVISION =========================");
for(i=0;i<6;i++)
{System.out.println("Division "+(i+1));
for(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();
while(sales[i][j]<0)
{System.out.println("Invalid entry. must be non negative");
System.out.print("Enter sales for quarter " + (j+1) + " for division " + (i+1) + ": ");
sales[i][j] = input.nextDouble();
}
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.