Phil Mendelsohn wrote: > Hi, > > I'm picking up some Java on the fly, and am making what is probably a > simple oversight type of error. Could someone tell me why I'm having > trouble accessing arrays of objects in an object from a class's member > functions? > > Here is the beginning of the class, with the constructors. It's a > little messy -- there's been some initialization code added for > debugging. The constructor seems to work fine, but though it > compiles, when I call it in another program (some test code) it just > hangs as soon as it tries to read or write values in the arrays. > > I've been liberal with the 'public' statements; the reason (debugging > / desperation!) should be clear, and is not an issue for what I'm > doing. This is a U homework thing, but it's not a Java class (it's > Algorithms), so no fear about academic integrity in answering. > > Help is appreciated! > > Phil Mendelsohn > > -- > www.rephil.org > > "Trying to do something with your life is like > sitting down to eat a moose." --Douglas Wood > > ----------- > > public class PriorityQueue{ > > public qItem [] Q; > public int qSize; > public int [] where; > > public class qItem{ > public int item; > public int key; > > public qItem(int item, int key){ > //consructor > this.item = item; > this.key = key; > } > } > > public PriorityQueue(int maxItem){ > //constructor of an empty queue: see below > qItem [] Q = new qItem[maxItem]; > int [] where = new int[maxItem]; > for( int j=0; j < maxItem; j++){ > where[j] = -1; > Q[j] = new qItem(-2, -3); > System.out.println(where[j] + " " + Q[j].item + > " " + Q[j].key); > } > int qSize = 0; > }//end constructor > > void insert(int item, int key){ > //insert the item with given key as its priority > qSize++; > System.out.println("qSize: " + qSize); > System.out.println("Item: " + item); > System.out.println("Key: " + key); > for(int i = 0; i < qSize; i++){ > System.out.println(Q[i].item); > System.out.println(Q[i].key); > } > } By the way, you are missing a '}' at the end. A couple of questions, first is: aItem a inner class? Second, do you have a main method that you use for testing? The reason I ask is I am not quite sure what the class is supposed to do and a main/test method would help me walk through the processing. -- Perry Hoekstra E-Commerce Architect Talent Software Services perry.hoekstra at talentemail.com