Requirements: All you need to do for this assignment is REPLACE all hardcoded numeric data initializations with user input prompts and reads using Scanner. If you have structured your program efficiently, ONLY the initializations section should have to change. . All existing calculations should remain as-is, although you should make any needed changes based upon any rubric grading comments. This will be a graded rubric item. Create ONE Scanner object to do the user input reads, and use it throughout your program For each input data quantity, do the following: o Display a user input prompt on the same line as the data read, using System.out.printi o Provide a descriptive prompt message, as opposed to just the variable name. For example, prompt for "Widget quantity" instead of for "numWidgets o Replace the hardcoded value with a user input call, using the appropriate next TypeO method call When you are done, there should be NO hardcoded numerical values present, exceot for the 3 named constants (one dozen, Placer sales tax rate, and pil, which do NOT require user inputs See the sample output on the next page for an idea of what your input/output should look like. As before, please make sure your outputs are labeled and neatiy aligned for readability. Also tab-align your outputs, and put a lank line between outputs. . Use good general program layout for readability (braces, indents, whitespace, etc.). See the recently-posted course Coding Standard for guidance. Also, I require that you now begin commenting your code and logic lightly. Tell the reader what's going on in your code, without overdoing it. A short comment identifying each problem would be about right. Structure: Your program's pseudocode will look something like this: // data declarations (inputs, outputs, and constants-and also one Sconner object setup) // data initializations (a data prompt Scanner read for each piece of data) // problem-by-problem calculations (same as last time) // output prints (probably interspersed with calculations) Requirements: All you need to do for this assignment is REPLACE all hardcoded numeric data initializations with user input prompts and reads using Scanner. If you have structured your program efficiently, ONLY the initializations section should have to change. . All existing calculations should remain as-is, although you should make any needed changes based upon any rubric grading comments. This will be a graded rubric item. Create ONE Scanner object to do the user input reads, and use it throughout your program For each input data quantity, do the following: o Display a user input prompt on the same line as the data read, using System.out.printi o Provide a descriptive prompt message, as opposed to just the variable name. For example, prompt for "Widget quantity" instead of for "numWidgets o Replace the hardcoded value with a user input call, using the appropriate next TypeO method call When you are done, there should be NO hardcoded numerical values present, exceot for the 3 named constants (one dozen, Placer sales tax rate, and pil, which do NOT require user inputs See the sample output on the next page for an idea of what your input/output should look like. As before, please make sure your outputs are labeled and neatiy aligned for readability. Also tab-align your outputs, and put a lank line between outputs. . Use good general program layout for readability (braces, indents, whitespace, etc.). See the recently-posted course Coding Standard for guidance. Also, I require that you now begin commenting your code and logic lightly. Tell the reader what's going on in your code, without overdoing it. A short comment identifying each problem would be about right. Structure: Your program's pseudocode will look something like this: // data declarations (inputs, outputs, and constants-and also one Sconner object setup) // data initializations (a data prompt Scanner read for each piece of data) // problem-by-problem calculations (same as last time) // output prints (probably interspersed with calculations)