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

(JAVA) Fly By Night Manufacturing Inc. has five factories each producing THREE p

ID: 3855792 • Letter: #

Question

(JAVA)

Fly By Night Manufacturing Inc. has five factories each producing THREE products:
Widgets
Gadgets
Doodads

The factory production numbers are:
Factory 1
500 Widgets
100 Gadgets
50 Doodads
Factory 2
70 Widgets
1,000 Gadgets
5,000 Doodads
Factory 3
534 Widgets
2,000 Gadgets
5,000 Doodads
Factory 4
80 Widgets
700 Gadgets
83 Doodads
Factory 5
50 Widgets
100 Gadgets
780 Doodads
Allow the user to:
Display all Factories’ production numbers for all products
Allow the user to change the production number for one product in one particular factory
Show statistics for all of the factories
Show the combined production numbers for the four products (total the Widgets Gadgets and Doodads)
Show the average production numbers for the four products(Widgets, Gadgets and Doodads)
Quit the application

Tactical hints:
Use a two dimensional array to initialize the factories using the values above.
Use methods for the above capabilities (you will have to pass the array). Some can be void returns.
Use a switch “structure” for user capabilities

Explanation / Answer

import java.util.Scanner;

public class ProductFactory {

   public static void main(String[] args) {
       Scanner sc = new Scanner(System.in);
       int factory[][] = new int[5][3];
       for(int factoryNum =0;factoryNum<5;factoryNum++){
           for(int productNum=0;productNum<3;productNum++)
               factory[factoryNum][productNum] = 0;
       }
       //Factory 1
       factory[0][0] = 500; // Widgets
       factory[0][1] = 100; // Gadgets
       factory[0][2] = 50; // Doodads
       //Factory 2
       factory[1][0] = 70; // Widgets
       factory[1][1] = 1000; // Gadgets
       factory[1][2] = 5000; // Doodads
       //Factory 3
       factory[2][0] = 535; // Widgets
       factory[2][1] = 2000; // Gadgets
       factory[2][2] = 5000; // Doodads
       //Factory 4
       factory[3][0] = 80; // Widgets
       factory[3][1] = 700; // Gadgets
       factory[3][2] = 83; // Doodads
       //Factory 5
       factory[4][0] = 50; // Widgets
       factory[4][1] = 100; // Gadgets
       factory[4][2] = 780; // Doodads
       //displayAllInfo(factory);
       boolean quit = false;
       while(!quit){
           System.out.println("[1]Display all Factories’ production numbers for all products.");
           System.out.println("[2]Change the production number for one product in one particular factory.");
           System.out.println("[3]Show the combined production numbers for the four products.");
           System.out.println("[4]Show the average production numbers for the four products.");
           System.out.println("[5]Quit the application.");
           System.out.println("Enter you choice :");
           int choice = sc.nextInt();
           switch(choice){
           case 1:
               displayAllInfo(factory);
               break;
           case 2:
               System.out.println("Enter Factory Number[1-5] and Poroduct Number [1-Widgets 2-Gadgets 3-Doodads] :");
               int fNum = sc.nextInt()-1;
               int pNum = sc.nextInt()-1;
               if(fNum<0 || fNum>4 | pNum<0 || pNum >2){
                   System.out.println("invalid value");
                   break;
               }
               System.out.println("Enter new poroduction number :");
               int num = sc.nextInt();
               factory[fNum][pNum] = num;
               break;
           case 3:
               System.out.println("Combined Production :"+combinedProduction(factory));
               break;
           case 4:
               System.out.println("Combined Production :"+averageProduction(factory));
               break;
           case 5:
               quit = true;
               break;
           }
          
       }
   }
   public static void displayAllInfo(int arr[][]){
       for(int factoryNum =0;factoryNum<5;factoryNum++){
           System.out.println("Factory 1");
           //for(int productNum=0;productNum<3;productNum++)
           System.out.println(" Widgets: "+arr[factoryNum][0]);
           System.out.println(" Gadgets: "+arr[factoryNum][1]);
           System.out.println(" Doodads: "+arr[factoryNum][2]);
       }
   }
   public static int combinedProduction(int arr[][]){
       int total = 0;
       for(int factoryNum =0;factoryNum<5;factoryNum++){
           System.out.println("Factory 1");
           for(int productNum=0;productNum<3;productNum++)
               total += arr[factoryNum][productNum];
       }
       return total;
   }
   public static int averageProduction(int arr[][]){
       int total = 0;
       int avg =0;
       for(int factoryNum =0;factoryNum<5;factoryNum++){
           System.out.println("Factory 1");
           for(int productNum=0;productNum<3;productNum++)
               total += arr[factoryNum][productNum];
       }
       avg = total/(3*5);
       return avg;
   }
}