• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 208
  • Last Modified:

How do I get this to work?

I can't seem to get this to work. I keep getting the same error message... invalid method declaration; return type required...

Can anyone help?  

Also, will this code really work?
public class PQFinal extends MinHeap
{
  private Comparable[] theHeap;
  private int elems;
  private int cap = 10;
  private int priority;
  private int size;
  
  public static String MyPriorityQueue(int n)
  {
    Comparable[] arr = new Comparable[size];
    elems = 0;
    priority = 1;
  }
  
  public static String MyPriorityQueue()
  {
    Comparable[] arr = new Comparable[cap];
    priority = 1;
    elems = 0;
  }
  
  public boolean isFull()
  {
    if(elems == cap)
      return true;
    else
      return false;
  }
  
  public boolean isEmpty()
  {
    if(elems == 0)
      return true;
    else
      return false;
  }
  
  public boolean enqueue(Comparable o)
  {
  
  }
  
  public Object dequeue()
  {
    Object o = new Object();
    return o;
  }
  
  public static String MyMinHeap()
  {
    cap = 10;
    size = 0;
    theHeap = new Comparable[10];
  }
  
  public MyMinHeap(Comparable[] arr, int n)
  {
    size = n;
    cap = arr.length;
    theHeap = arr;
      return size;
  }
  
  public int getSize()
  {
    if(size != 0)
      return theHeap;
    return -1;
  }
  
  public boolean add(Comparable o)
  {
    if (o == null)
      throw new IlegalArgumentException();
      
    if(size >= theHeap.length - 1)
      theHeap = resize(elem);
      
    size++;
    theHeap[size] = o;
  }
  
  public Object removeMin()
  {
    if(size <= 0)
      return -1;
    swap(1, size--);
    shiftDown(1);
    return theHeap[size];
  }
  
  private void shiftDown(int index)
  {
    int lc = leftChild(i);
    int rc = rightChild(i);
    if(lc < size)
    {
      if((rc < size) && (theHeap[rc] > theHeap[lc]))
        lc = rc;
      if(theHeap[i] < theHeap[lc])
      {
        swap(i, lc);
        shiftDown(lc);
      }
    }
  }
  
  private void buildHeap()
  {
    for(int i = size; i >= 0; i++)
      shiftDown(i);
  }
  
  public void parseInts()
  {
    return data.parseInts();
  }
  
  public void parseStrings()
  {
    return data.parseStrings();
  }
}

Open in new window

0
javalurnin
Asked:
javalurnin
1 Solution
 
Guy Hengel [angelIII / a3]Billing EngineerCommented:
 public MyMinHeap(Comparable[] arr, int n)

needs to be

  public void MyMinHeap(Comparable[] arr, int n)
0
 
UrosVidojevicCommented:
 public PQFinal(Comparable[] arr, int n)
  {
    size = n;
    cap = arr.length;
    theHeap = arr;
      return size;
  }

If you wanted this method to be constructor...
0
 
objectsCommented:
>  public boolean enqueue(Comparable o)
>  {

>  }

looks like that should be:

  public boolean enqueue(Comparable o)
  {
         return add(o);  
  }
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now