I have the following code: 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&¢<=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){       this.dollar+=otherMoney.dollar;       this.cent+=otherMoney.cent;       return this;   }   public Money subtract(Money otherMoney){       this.dollar-=otherMoney.dollar;       this.cent-=otherMoney.cent;       if(this.dollar<0||this.cent<0){           return null;       }       return this;   }      public boolean equals(Money otherMoney){       return this==otherMoney;   }      public int compareTo(Money otherMoney){       if(this.dollar  m){        for(int i=0;i

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

I have the following code:

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){
      this.dollar+=otherMoney.dollar;
      this.cent+=otherMoney.cent;
      return this;
  }
  public Money subtract(Money otherMoney){
      this.dollar-=otherMoney.dollar;
      this.cent-=otherMoney.cent;
      if(this.dollar<0||this.cent<0){
          return null;
      }
      return this;
  }
  
  public boolean equals(Money otherMoney){
      return this==otherMoney;
  }
  
  public int compareTo(Money otherMoney){
      if(this.dollar<otherMoney.dollar){
          return 1;
      }else if(this.dollar==otherMoney.dollar){
          return 0;
      }else{
          return -1;
      }
  }
  public static void printList(Money[] list,int n)
  {
      for(int i=0;i<n;i++)
      {
          System.out.println(list[i].dollar+" "+list[i].cent);
      }
      
  }
  
  
  public String toString(){
      return "Dollar is "+this.dollar+" and cents is "+this.cent;
  }
   public static Money max(Money[] m,int n){
       Money res= new Money();
       res.dollar=0;
       res.cent=0;
       for(int i=0;i<n;i++){
           if(res.dollar<m[i].dollar){
               res=m[i];
           }
       }
       return res;
   }
   
   public void publicList(ArrayList<Money>  m){
       for(int i=0;i<m.size();i++){
           System.out.print(m.get(i)+" ");
       }
   }
   public static void selectionSort(Money[] m,int n)
   {
       // Loop to increase the boundary of the sorted array
for (int i = 0; i < n-1; i++)
{
int min_element = i;
for (int j = i+1; j < n; j++)
if (m[j].dollar < m[min_element].dollar)
min_element = j;
else if((m[j].dollar==m[min_element].dollar) && (m[j].cent< m[min_element].cent))
min_element=j;
/* Swap the smallest element from the unsorted array with the last element of the sorted array */
Money temp = new Money();
temp=m[min_element];
m[min_element] = m[i];
m[i] = temp;
}
   }
   
}

_________________________________________

for use with this driver program, testMoney.java

import java.util.*;
public class TestMoney
{
public static void main(String[] args)
{
Random rnd = new Random(10);
Money m1 = new Money(5,45);
Money m2 = new Money(10,95);
m1.setCent(101);
Money sum = m1.add(m2);
System.out.println(m1+" + "+m2+" is "+sum);
Money diff = m1.subtract(m2);
System.out.println(m1+" - "+m2+" is "+diff);
diff = m2.subtract(m1);
System.out.println(m2+" - "+m1+" is "+diff);
System.out.println("equals method result: "+m1.equals(m2));
System.out.println("compareTo method result: "+m1.compareTo(m2));


Money[] list = new Money[15];
// Generate 15 random Money objects
for(int i=0;i<list.length;++i)
{
list[i] = new Money((int)(1+rnd.nextInt(30)),rnd.nextInt(100));
}
// print the list of Money objects, 10 per line
System.out.println("Unsorted list");
Money.printList(list,10);
// Find the largest Money object
System.out.println("The Max is "+Money.max(list));
// Sort and print
System.out.println("Sorted list");
Money.selectionSort(list);
Money.printList(list,10);
}
}

 

But I keep getting the following error messages:

 

 

Failed to compile
Money.java:95:
error: cannot find symbol
public void publicList (ArrayList<Money> m) {
symbol: class ArrayList
location: class Money
TestMoney.java:24: warning: [cast] redundant cast to int
list[i] = new Money( (int) (1+rnd.nextInt (30)), rnd.nextInt (100));
TestMoney.java:30: error: method max in class Money cannot be applied to given types;
System.out.println("The Max is "+Money.max (list));
required: Money [], int
found: Money []
reason: actual and formal argument lists differ in length
TestMoney.java:33: error: method selectionSort in class Money cannot be applied to given typ
Money.selectionSort (list);
required: Money [], int
found: Money []
reason: actual and formal argument lists differ in length
3 errors
1 warning
Transcribed Image Text:Failed to compile Money.java:95: error: cannot find symbol public void publicList (ArrayList<Money> m) { symbol: class ArrayList location: class Money TestMoney.java:24: warning: [cast] redundant cast to int list[i] = new Money( (int) (1+rnd.nextInt (30)), rnd.nextInt (100)); TestMoney.java:30: error: method max in class Money cannot be applied to given types; System.out.println("The Max is "+Money.max (list)); required: Money [], int found: Money [] reason: actual and formal argument lists differ in length TestMoney.java:33: error: method selectionSort in class Money cannot be applied to given typ Money.selectionSort (list); required: Money [], int found: Money [] reason: actual and formal argument lists differ in length 3 errors 1 warning
Expert Solution
steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education