Problem

Define a utility class for displaying values of type double. Call the class DoubleOut. Inc...

Define a utility class for displaying values of type double. Call the class DoubleOut. Include all the methods from the class DollarFormat in Listing all the methods from the class OutputFormat and a method called scienceWrite that displays a value of type double using e notation, such as 2.13e–12. (This e notation is also called scientific notation, which explains the method name.) When displayed in e notation, the number should appear with exactly one nonzero digit before the decimal point—unless the number is exactly zero. The method scienceWrite will not advance to the next line. Also add a method called scienceWriteln that is the same as scienceWrite except that it does advance to the next line. All but the last two method definitions can simply be copied from the text (or more easily from the source code for this book that is available on the Web.). Note that you will be overloading the method names write and writeln.

Write a driver program to test your method scienceWriteln. This driver program should use a stub for the method scienceWrite. (Note that this means you can write and test scienceWriteln before you even write scienceWrite.) Then write a driver program to test the method scienceWrite. Finally, write a program that is a sort of super driver program that takes a double value as input and then displays it using the two writeln methods and the scienceWriteln method. Use the number 5 for the number of digits after the decimal point when you need to specify such a number. This super driver program should allow the user to repeat this testing with additional numbers of type double until the user is ready to end the program.

Design a class to display values of type double that are not necessarily for money amounts. Call the class OutputFormat. It should have two static methods, write and writeln, each of which takes two arguments. The first argument gives a double value to be written to the screen. The second argument is an int value telling how many digits to show after the decimal point. Have your methods round any extra digits. These methods are similar to the methods write and writeln in the class DollarFormat. Although you can use the class DollarFormat as a model, the methods in these two classes have some differences. As you would expect, any output occurring after write executes will be on the same line, and output occurring after writeln executes will be on the following line; otherwise, write and writeln do the same thing.

For example, the statements

OutputFormat.writeln(9.1234667, 4);OutputFormat.writeln(9.9999, 2);OutputFormat.writeln(7.01234, 4);should produce the following output:9.123510.007.0123

Do not forget to test your methods with numbers that have zeros after the decimal point, like 1.023 and 1.0023. [Hint: You may find the static method Math.pow helpful as part of an expression to move a decimal point.] This is a fairly difficult exercise, so allow yourself some time to complete it. If you do not succeed in writing this class, be sure that you at least understand the answer given at the end of the chapter. This is a very useful class.

Step-by-Step Solution

Request Professional Solution

Request Solution!

We need at least 10 more requests to produce the solution.

0 / 10 have requested this problem solution

The more requests, the faster the answer.

Request! (Login Required)


All students who have requested the solution will be notified once they are available.
Add your Solution
Textbook Solutions and Answers Search
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT