Tax computation
Program plan:
- • Define the class “TaxComputer”.
- ○ Declare the necessary constant variables.
- ○ Define the method “changeBasicRateTo()”.
- ■ Assign “newRate” into the variable “basicRate”.
- ○ Define the method “changeLuxuryRateTo()”.
- ■ Assign “newRate” into the variable “luxuryRate”.
- ○ Define the method “computeCostBasic()”.
- ■ Calculate “tax”, and “price”.
- ■ Return the value.
- ○ Define the method “computeCostLuxury()”.
- ■ Calculate “tax”, and “price”.
- ■ Return the value.
- ○ Define the method “roundToNearestPenny()”.
- ■ Calculate the price.
- ■ Return the value.
- ○ Define the “main()” function.
- ■ Print the result by calling the appropriate methods.
Program to display the tax computation of the computer.
Explanation of Solution
Program:
//Define the class
public class TaxComputer
{
//Declare the necessary constant variables
private static double basicRate = 4.0;
private static double luxuryRate = 10.0;
//Define the function changeBasicRateTo()
public static void changeBasicRateTo(double newRate)
{
/*Assign "newRate" into the variable “basicRate”*/
basicRate = newRate;
}
//Define the function changeLuxuryRateTo()
public static void changeLuxuryRateTo(double newRate)
{
/*Assign "newRate" into the variable “luxuryRate”*/
luxuryRate = newRate;
}
//Define the function computeCostBasic()
public static double computeCostBasic(double price)
{
//Calculate the “tax”
double tax = price * basicRate / 100;
//Calculate the “price”
price = price + tax;
//Return the value
return roundToNearestPenny(price);
}
//Define the function computeCostLuxury()
public static double computeCostLuxury(double price)
{
//Calculate the "tax"
double tax = price * luxuryRate / 100;
//Calculate the "price"
price = price + tax;
//Return the value
return roundToNearestPenny(price);
}
//Define the function roundToNearestPenny()
private static double roundToNearestPenny(double price)
{
//Calculate the "price"
price = price * 100;
price = java.lang.Math.round(price);
//Return the value
return price/100;
}
//Define the main() function
public static void main(String[] args)
{
//Print the statement
System.out.println("Testing the basic rate computation.");
//Print the statement
System.out.println(" Item price no tax:10.00");
//Print the statement
System.out.println("cost with 4% tax: "+ TaxComputer.computeCostBasic(10.00));
//Print the statement
System.out.println("Testing the basic rate computation.");
//Call the function changeBasicRateTo()
TaxComputer.changeBasicRateTo(7.5);
//Print the statement
System.out.println(" Item price no tax: 10.00");
//Print the statement
System.out.println("cost with 7.5% tax: "+ TaxComputer.computeCostBasic(10.00));
//Print the statement
System.out.println("Testing the luxury rate computation.");
//Print the statement
System.out.println(" Item price no tax: 2019.25");
//Print the statement
System.out.println("cost with 10% tax: "+ TaxComputer.computeCostLuxury(2019.25));
//Print the statement
System.out.println("Testing the luxury rate computation.");
//Call the function changeLuxuryRateTo()
TaxComputer.changeLuxuryRateTo(20.0);
//Print the statement
System.out.println(" Item price no tax: 2019.25");
//Print the statement
System.out.println("cost with 20% tax: "+ TaxComputer.computeCostLuxury(2019.25));
//Print the statement
System.out.println("Testing the basic rate again, should still be 7.5%.");
//Print the statement
System.out.println(" Item price no tax: 210.99");
//Print the statement
System.out.println("cost with 7.5% tax: "+ TaxComputer.computeCostBasic(210.99));
}
}
Output:
Testing the basic rate computation.
Item price no tax: 10.00
cost with 4% tax: 10.4
Testing the basic rate computation.
Item price no tax: 10.00
cost with 7.5% tax: 10.75
Testing the luxury rate computation.
Item price no tax: 2019.25
cost with 10% tax: 2221.18
Testing the luxury rate computation.
Item price no tax: 2019.25
cost with 20% tax: 2423.1
Testing the basic rate again, should still be 7.5%.
Item price no tax: 210.99
cost with 7.5% tax: 226.81
Want to see more full solutions like this?
Chapter 6 Solutions
Java: An Introduction to Problem Solving and Programming (8th Edition)
- Create a class called “Rectangle” with properties of length and width, andincludes method to calculate the area and perimeter of the rectangle. Create aDriver class and instantiate 2 Rectangle objects that return the area andperimeter for each. Please feel free to set the length and width to values ofyour choice. for JAVAarrow_forwardFor this project you will have to write two classes.Class Rectangle is a class that represents an axis-aligned rectangle. ClassRectangleTester is the driver class, used to test the Rectangle class.Class Rectangle:An instance of the class Rectangle represents a valid axis-aligned rectangle. It has severalinstance variables that one needs to use to describe a rectangle, as well as methods thatoperate on these variables.Rectangle instance variables:Class Rectangle will have the following instance variables:• x – a double that represents the x coordinate of the lower left vertex of therectangle• y – a double that represents the y coordinate of the lower left vertex of therectangle• width – a double that represents the width of the rectangle• height – a double that represents the height of the rectangle• color – a String that represents the color of the rectangleFor the rectangle to be valid, the coordinates of all vertices must be between 0 and 1inclusive. The color can be one of the…arrow_forwardWrite a class RangeInput that allows users to enter a value within a range of values that is provided in the constructor. An example would be a temperature control switch in a car that allows inputs between 60 and 80 degrees Fahrenheit. The input control has “up” and “down” buttons. Provide up and down methods to change the current value. The initial value is the midpoint between the limits. As with the preceding exercises, use Math.min and Math.max to limit the value. Write a sample program that simulates clicks on controls for the passenger and driver seats. PLEASE USE THE TEMPLATES PROVIDED AND ENSURE THAT IT WORKS WITH THE TEST CLASSarrow_forward
- Create a PhoneListing class that uses the Name class for one of its instance variables. Remember the instance data in the Name class is private to the class and must be accessed through its methods.Add additional instance variables to the PhoneListing class for the phone number. The phone number should be broken down into three parts, area code, city code, and local code.Create all appropriate methods for the new class, including the following three methods: equals(PhoneListing):boolean, an equality of state method that returns true if the objects contain the same name and phone number. compareTo(PhoneListing):int, a comparison method that returns -1 if the calling PhoneListing object should precede the argument PhoneListing object, 1 if the calling PhoneListing object should come after the argument PhoneListing object, and a 0 if they are equal. Use last, first, middle, phone number as the ordering values. example:Adams, Alex, Henry, (609)473-2101 Adams, George, Henry, (509)373-1101…arrow_forwardWrite a class 'Cylinder' that has two fields: height and radius. The class should have only one parameterized constructor function to initialize these fields. The class should also have a method 'getVolume()' to calculate the volume of this cylinder. Now, create any 2 objects of this class with arbitrary values and show their volumes.arrow_forwardWrite a full class that represents a Phone, described by a name, price, and then whether the phone comes enabled with Bluetooth. The default value is that most phones come enabled. Include instance data, one or more constructors, getters and setters, a toString, and an equals method. Required validation for the variables Implement the Comparable interface. Order phones based on name and then price. Show make the driver in a different class to test the methods using user-inputarrow_forward
- I need help with: The following is a class definition for a simple Ebook. Two instance variables and one parameterless constructor are provided. Part 1: Write a second Java constructor that takes a String array of pages as input and sets the String array instance variable equal to the input. Continue to default the page number to zero. Part 2: Write a getter and a setter Java method for the current page number variable. The setter should check to make sure that the input is a valid page number and only update the variable if the new value is valid. Part 3: Write a getCurrentPage method that returns the String of the current page indexed by current_page. public class Ebook { private String[] pages; private int current_page; //constructor public Ebook() { this.pages = {"See Spot.", "See Spot run.", "Run, Spot, run."}; this.current_page = 0; } }arrow_forwardCreate a class named Billing that includes three overloaded computeBill()methods for a photo book store.•• When computeBill() receives a single parameter, it represents the price ofone photo book ordered. Add 8% tax, and return the total due.•• When computeBill() receives two parameters, they represent the price ofa photo book and the quantity ordered. Multiply the two values, add 8% tax,and return the total due.•• When computeBill() receives three parameters, they represent the price of aphoto book, the quantity ordered, and a coupon value. Multiply the quantityand price, reduce the result by the coupon value, and then add 8% tax andreturn the total due.Write a main() method that tests all three overloaded methods. Save theapplication as Billing.java.arrow_forwardJava ProgramFollowing the example of the Circle class in Section 9.2, design a class named Rectangle to represent a rectangle. The class contains:- Two double data fields named width and height that specify the width and height of the rectangle. Thedefault values are 1 for both width and height.- A no-arg constructor that creates a default rectangle.- A constructor that creates a rectangle with the specified width and height.- A method named getArea() that returns the area of this rectangle.- A method named getPerimeter() that returns the perimeter Draw the UML diagram for the class then implement the class. Write a test program that creates two Rectangle objects—one with width 4 and height 40, and the other with width 3.5 and height 35.9. Display the width, height, area, and perimeter of each rectangle in this order.arrow_forward
- Following the example of the Rectangle class of Chapter 9 Exercise 1, design a class named Cuboid to represent a cuboid. The class contains: Three data fields named length, width, and height. A constructor that creates a cuboid with the specified length, width, and height. A method named getVolume() that returns the volume of this cuboid. Then, please create an object mycuboid = Cuboid (2, 3, 4), and invoke getVolume to print the volume of mycuboid.arrow_forwardDo the following in Java and provided source code with screenshots of correct output to show it works! (New Solution without AI) 1. Create an interface Vehicle that contains three void, abstract methods named Start, Stop and Change Speed. 2 .Create an Airplane class (not abstract) that uses the Vehicle interface in Q1. The code for all methods should print simple messages to the screen using System.out.println(). Add an integer speed variable that is changed using the Change Speed method. ChangeSpeed adds 5 to the speed each time it is called. Create a default constructor that sets the initial speed to 0. Don't create other constructors or any setter/getter methods. 3. Create an abstract class Car that also uses the Vehicle interface in Q1 and has three variables, Year, Make, and Speed. Include the following: One constructor that accepts the car's year and make as arguments. The constructor should also assign 0 to the speed variable. Do not create other constructors. Create a void…arrow_forwardthis is the whole problem i did 1 to 3 im stuck at 4 Create a class called Student, with the following attributes/variables:a. studentName (String)b. studentNumber (int)sc. regYear(long)d. faculty(String)e. department(String)2. Add the following methods in Student:a. accessors and mutators for all variablesb. toString methodi. Formulate your toString so that it only shows studentName,studentNumber and faculty3. Create a class called MyFriends, with the following attributes variables:a. studentArray(Student[])4. Add the following methods in MyFriends:a. fillArrayi. Using scanner ask how many students does the user want to inputii. Capture user input for all of his friends(Of course we are assuming all your friends would be similarUWC students, go ask around and meet new friends, alsopreferably not in the same Computer Science department … ifpossible … only if possible)b. maini. Call the fillArray methodii. Count how many Computer Science studentsiii. If half or more students are…arrow_forward
- EBK JAVA PROGRAMMINGComputer ScienceISBN:9781337671385Author:FARRELLPublisher:CENGAGE LEARNING - CONSIGNMENT