its having 2 issues 1) compareTo method is incorrect (A method named compareTo which returns a positive int, a negative int, or zero depending on order of this object and the otherMoney argument. ) 2) 2 of the values (highlighted) are ordered incorrectly see the picture
I have the following code:
public class Money {
private int dollar;
private int cent;
final static int MIN_CENT_VALUE = 0;
final static int MAX_CENT_VALUE = 99;
public Money() {
this.dollar = 0;
this.cent = 0;
}
public Money(int dollar, int cent) {
this.dollar = dollar;
if (cent >= MIN_CENT_VALUE && cent <= MAX_CENT_VALUE) {
this.cent = cent;
} else {
cent = 0;
}
}
public int getDollar() {
return this.dollar;
}
public void setDollar(int dol) {
this.dollar = dol;
}
public int getCent() {
return this.cent;
}
public void setCent(int c) {
if (c >= MIN_CENT_VALUE && c <= MAX_CENT_VALUE) {
this.cent = c;
}
}
public Money add(Money otherMoney) {
Money m = new Money();
m.dollar = dollar + otherMoney.dollar;
m.cent = cent + otherMoney.cent;
if (m.cent >= 100) {
m.dollar++;
m.cent -= 100;
}
return m;
}
public Money subtract(Money otherMoney) {
Money m = new Money();
m.dollar = dollar - otherMoney.dollar;
m.cent = cent - otherMoney.cent;
if (m.dollar < 0 || m.cent < 0) {
return null;
}
return m;
}
public boolean equals(Money otherMoney) {
return this == otherMoney;
}
public int compareTo(Money otherMoney) {
if (this.dollar < otherMoney.dollar) {
return this.dollar - otherMoney.dollar;
} else if (this.dollar == otherMoney.dollar) {
return 0;
} else {
return this.dollar- otherMoney.dollar;
}
}
public String toString() {
if (this.cent<10){
return "$" + this.dollar + ".0" + this.cent;
}
return "$" + this.dollar + "." + this.cent;
}
public static Money max(Money[] m) {
int max = m[0].dollar;
int index = 0;
for (int i = 0; i < m.length; i++) {
if (max < m[i].dollar) {
max = m[i].dollar;
index = i;
}
}
return m[index];
}
public static void selectionSort(Money arr[]) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
int min = i;
for (int j = i + 1; j < n; j++)
if (arr[j].dollar < arr[min].dollar)
min = j;
// Swap the found minimum element with the first element
Money temp = new Money();
temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
}
public static void printList(Money[] m, int i) // This method takes an array of object as parameter
{
for (Money mm : m){
System.out.print(mm + " ");
}
System.out.println();
}
}
its having 2 issues
1) compareTo method is incorrect (A method named compareTo which returns a positive int, a negative int, or zero
depending on order of this object and the otherMoney argument. )
2) 2 of the values (highlighted) are ordered incorrectly
see the picture
![Output differs. See highlights below. Special character legend
$5.45 + $10.95 is $16.40
$5.45 $10.95 is null
$10.95 $5.45 is $5.50
equals method result: false
Your output
Expected output
compareTo method result: -5
Unsorted list
$4.80 $4.90 $17.56 $8.88 $22.14 $14.99 $22.08 $16.80 $17.53 $14
The Max is $24.09
Sorted list
$4.80 $4.90 $6.49 $8.88 $9.50 $14.99 $14.38 $15.70 $16.08 $16.8
▶
4
$5.45 + $10.95 is $16.40
$5.45 $10.95 is null
$10.95
$5.45 is $5.50
equals method result: false
compareTo method result: -550
Unsorted list
$4.80 $4.90 $17.56 $8.88 $22.14 $14.99 $22.08 $16.80 $17.53 $14
$24.09 $16.08 $6.49 $15.70 $9.50
The Max is $24.09
Sorted list
$4.80 $4.90 $6.49 $8.88 $9.50 $14.38 $14.99 $15.70 $16.08 $16.8
$17.53 $17.56 $22.08 $22.14 $24.09
4
▶](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fe4e826cb-c133-47e8-aeaa-858e7b3a09da%2F5ccd904d-e4d9-48fc-a589-37d9b46c4fda%2F87gn76o_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)