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

JAVA: My code should output into tubular format with the sums at the bottom of a

ID: 3669839 • Letter: J

Question

JAVA: My code should output into tubular format with the sums at the bottom of all the columns and on the right side for all the rows. It does all the totals except the last row and i dont know why. can you find the error.

(Total Sales) Use a two-dimensional array to solve the following problem: A company has four salespeople (1 to 4) who sell five different products (1 to 5). Once a day, each salesperson passes in a slip for each type of product sold. Each slip contains the following:

a)The salesperson number

b)The product number

c)The total dollar value of that product sold that day

Thus, each salesperson passes in between 0 and 5 sales slips per day. Assume that the information from all the slips for last month is available. Write an application that will read all this information for last month’s sales and summarize the total sales by salesperson and by product. All totals should be stored in the two-dimensional array sales. After processing all the information for last month, display the results in tabular format, with each column representing a salesperson and each row representing a particular product. Cross-total each row to get the total sales of each product for last month. Cross-total each column to get the total sales by salesperson for last month. Your output should include these cross-totals to the right of the totaled rows and to the bottom of the totaled columns.

import java.util.Scanner; //program uses class Scanner

public class Ex6_20
{
//method begins java application
public static void main(String[] args)
{
//create Scanner to obtain imput
Scanner input = new Scanner(System.in);

int monthySales=0; //varible to hold mothly sales
int productNum; //varible to hold product number
int salesNum=0; //varible to hold saleperson number
int totalSales=0; //varible to hold total sales
int []totalProduct = {0,0,0,0,0};//build array to hold total product
int []salesTotal = {0,0,0,0,0};//build array to hold total salesperson

// Build array to hold sales information by salesperson and poduct
int[][]sales = {{2000,1500,500,800,0},
{500,2200,600,1000,0},
{1000,2000,300,2100,0},
{2500,4000,400,3000,0},
{300,3200,500,2300,0},
{0,0,0,0}};

//figure total by product
for(int row =0; row < sales.length; row++)
{
for(int column = 0; column < sales[row].length; column++)
totalProduct[column] += sales[row][column];
}//end for

//figure total by salesperson
for(int column = 0; column < sales.length; column++)
{
for(int row = 0; row < sales[column].length; row++)
salesTotal[row] += sales[column][row];
}//end for

//fill totals for product
for(int i = 0; i < 5; i++)
{
sales[i][4] = totalProduct[i];
}//end for

//fill totals for salesperson
for(int i = 0; i < 4; i++)
{
sales[5][i] = salesTotal[i];
}//end for

// print info from array in table format
for(int row =0; row < sales.length; row++)
{
for(int column = 0; column < sales[row].length; column++)
System.out.print(sales[row][column]+" ");
System.out.println();

}//end for
} //end main method
} //end class

Explanation / Answer

//Modification are in bold letters

//Modified java program that prints the formatted output
//for the sum of the product sales in row end and sum of the
//salesperson sales in colummn end .
//Ex6_20.java
import java.util.Scanner;
public class Ex6_20
{
   //method begins java application
   public static void main(String[] args)
   {
       //create Scanner to obtain imput
       Scanner input = new Scanner(System.in);

       int monthySales=0; //varible to hold mothly sales
       int productNum; //varible to hold product number
       int salesNum=0; //varible to hold saleperson number
       int totalSales=0; //varible to hold total sales
       int []totalProduct = {0,0,0,0,0};//build array to hold total product
       int []salesTotal = {0,0,0,0,0};//build array to hold total salesperson

       // Build array to hold sales information by salesperson and poduct
       int[][]sales = {{2000,1500,500,800,0},
                       {500,2200,600,1000,0},
                       {1000,2000,300,2100,0},
                       {2500,4000,400,3000,0},
                       {300,3200,500,2300,0},
                       {0,0,0,0,0}

                       };

       //figure total by product (leave one row )
       for(int row =0; row < sales.length-1; row++)
       {

               //leave last colum to fill total values
           for(int column = 0; column < sales[row].length-1; column++)
               totalProduct[row] += sales[row][column];
       }//end for

       //figure total by salesperson
       for(int column = 0; column < sales.length-1; column++)
       {
           for(int row = 0; row < sales[column].length; row++)
               salesTotal[column] += sales[row][column];
       }//end for

       //fill totals for product
       for(int i = 0; i < sales.length-1; i++)
       {
           sales[i][4] = totalProduct[i];
       }//end for

       //fill totals for salesperson
       for(int i = 0; i < sales[0].length; i++)
       {
           sales[5][i] = salesTotal[i];
       }//end for

       // print info from array in table format
       for(int row =0; row < sales.length; row++)
       {
           for(int column = 0; column < sales[row].length; column++)
               System.out.print(sales[row][column]+" ");
           System.out.println();

       }//end for
   } //end main method
} //end class

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

Sample Output:

2000   1500   500       800       4800  
500       2200    600       1000   4300  
1000   2000   300       2100 5400  
2500   4000   400       3000    9900  
300       3200   500       2300   6300  
6300   12900   2300    9200   0