Solved

How do I get this to work?

Posted on 2007-11-23
3
192 Views
Last Modified: 2013-11-23
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
Comment
Question by:javalurnin
3 Comments
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 20340314
 public MyMinHeap(Comparable[] arr, int n)

needs to be

  public void MyMinHeap(Comparable[] arr, int n)
0
 
LVL 7

Expert Comment

by:UrosVidojevic
ID: 20340327
 public PQFinal(Comparable[] arr, int n)
  {
    size = n;
    cap = arr.length;
    theHeap = arr;
      return size;
  }

If you wanted this method to be constructor...
0
 
LVL 92

Accepted Solution

by:
objects earned 250 total points
ID: 20340782
>  public boolean enqueue(Comparable o)
>  {

>  }

looks like that should be:

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

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:

810 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question