Learn how to build a Java class with private members, constructors, getter/setter methods, and formatted currency output. This example guides you through creating a Toy
class that initializes a random price within a range, applies string manipulation, and uses DecimalFormat
to display prices. A great exercise for mastering object-oriented programming in Java with practical hands-on coding.
1) Create a class called Toy
a) Define at three private data members that makes sense for a class called
Toy.
i) A string that is the name of the toy
ii) You decide what this data member represents and what is the appropriate
data type
iii) A double representing the price of the toy
b) Create a Constructor that initializes only the first and second data
members using arguments
i) Take the argument passed in for the name of the toy, make it
uppercase using a String method, and assign it to the appropriate data
member.
ii) Initialize the second data member with the second argument
iii) Create a random double in the range of [10.75, 20.5) and assign
it the third data member representing the price of the toy. (Note, after
formatting for output you can get 20.50.)
c) Write the one get method to retrieve the values of the third data member
as type double.
d) Write one set method to set the value of the third data member, the
price.
e) Write the toString method as described in class using example
below. The price must be output in Currency using the FormatNumber class.
2) In main method
a) Create an instance of the Toy class passing two arguments as described
above
b) Call the get method for the price to retrieve the current price.
c) Output the current price formatted for currency.
d) Increase the current price by 25%
e) Call the set method to update the price with the new value you
calculated.
f) Call the toString method and output the String it returns for the
instance variable
3) Example Output. follow the format for toString() as explained in chapter
3.
Price before increase: $8.7
Toy name: JUMP ROPE
Color: green sparkles
Price: $10.91
Answer
import java.util.*;
import
java.text.DecimalFormat;
public class Toy{
// attributes data
members
String name;
String color ;
double price;
public Toy(String name
, String color){
this.name =
name.toUpperCase();
this.color =color ;
// generate random
number for price
Random r = new
Random();
price = 10.75 + (20.5 -
10.75) * r.nextDouble();
}
// getter method
public double
getPrice(){ return price; }
// setter method
public void
setPrice(double p){ price = p; }
public String
toSTring(){
DecimalFormat df = new
DecimalFormat("#.##");
return "Toy name:
"+ name+"\nColor: "+color+"\nPrice:
$"+df.format(price) ;
}
public static void
main(String[] args) {
DecimalFormat df = new
DecimalFormat("#.##");
// instance object
Toy toy = new
Toy("JUMP ROPE" , "White sparkles");
double price =
toy.getPrice();
// price before
increase by 25%
System.out.println("Price
before increase : " + df.format(price) );
// increase by 25%
double increase =
toy.getPrice()+ toy.getPrice()*0.25;
//update the price with
the new value
toy.setPrice(increase);
// tostring to display
output
System.out.println(
toy.toSTring());
}
}// end class