Write a Java class that implements the concept of Coins, assuming the following
ID: 3697480 • Letter: W
Question
Write a Java class that implements the concept of Coins, assuming the following attributes (variables): number of quarters, number of dimes, number of nickels, and number of pennies. Include two constructors (non-argument constructor that assigns 1 to each coin, and another constructor that takes necessary arguments to create an object), needed getter and setter methods, method toString (to print coins objects in a meaningful way), and method equals (to compare two coins objects based on number of coins). Also include the following methods:
A method to return the amount of money in dollars notation (e.g., $0.41 if you have one coin of each)
Write a test program (client class) to test all methods in the class.
Explanation / Answer
################ Coins.java ###########################
public class Coins {
private int pennies;
private int nickels;
private int dimes;
private int quarters;
public Coins() {
pennies = 1;
nickels = 1;
dimes = 1;
quarters = 1;
}
/**
* @param pennies
* @param nickels
* @param dimes
* @param quarters
*/
public Coins(int pennies, int nickels, int dimes, int quarters) {
this.pennies = pennies;
this.nickels = nickels;
this.dimes = dimes;
this.quarters = quarters;
}
/**
* @return the pennies
*/
public int getPennies() {
return pennies;
}
/**
* @return the nickels
*/
public int getNickels() {
return nickels;
}
/**
* @return the dimes
*/
public int getDimes() {
return dimes;
}
/**
* @return the quarters
*/
public int getQuarters() {
return quarters;
}
/**
* @param pennies the pennies to set
*/
public void setPennies(int pennies) {
this.pennies = pennies;
}
/**
* @param nickels the nickels to set
*/
public void setNickels(int nickels) {
this.nickels = nickels;
}
/**
* @param dimes the dimes to set
*/
public void setDimes(int dimes) {
this.dimes = dimes;
}
/**
* @param quarters the quarters to set
*/
public void setQuarters(int quarters) {
this.quarters = quarters;
}
@Override
public String toString() {
return "Pennies: "+pennies+", Nickels: "+nickels+", Dimes: "+dimes+", Quarters: "+quarters;
}
@Override
public boolean equals(Object obj) {
Coins coin = (Coins)obj;
if(this.pennies == coin.pennies &&
this.nickels == coin.nickels &&
this.dimes == coin.dimes &&
this.quarters == coin.quarters)
return true;
else
return false;
}
public double getDollar(){
double total = 0;
total = (pennies + 5*nickels + 10*dimes + 25*quarters)/100.0;
return total;
}
}
################### Test Class ##########################
public class TestCoin {
public static void main(String[] args) {
Coins c1 = new Coins();
System.out.println(c1.toString());
System.out.println("Dollar: $"+c1.getDollar());
System.out.println();
Coins c2 = new Coins(5, 2, 4, 2);
System.out.println(c2.toString());
System.out.println("Dollar: $"+c2.getDollar());
}
}
/*
Sample run:
Pennies: 1, Nickels: 1, Dimes: 1, Quarters: 1
Dollar: $0.41
Pennies: 5, Nickels: 2, Dimes: 4, Quarters: 2
Dollar: $1.05
*/
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.