954,518 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

passing arrays to classes?

//main method
int number = 1;
int num = 3;
details[] Darray = new details[number][num];

String name = JOptionPane.showInputDialog(null,
"Enter the name",
"Enter details",
JOptionPane.QUESTION_MESSAGE);
String DOB = JOptionPane.showInputDialog(null,
"Enter the DOB",
"Enter details",
JOptionPane.QUESTION_MESSAGE);

class details
// i have default construtors aswell
String getName(){
return name;
}
heres the problem - i was told that you are only ment to input data in the main method. I need a 2d array to store many people info.
I tried Darray[0] = name; but this came up
C:\Documents and Settings\java:34: incompatible types
found : java.lang.String
required: details

since classes are ment to store information (possibley privately) I was wondering the easiest way to store it in a array and pass it. I also want to use the array in the main method after the have finished storing it.
any ideas?

thanks for looking

ultimate_fusion
Light Poster
44 posts since Oct 2004
Reputation Points: 10
Solved Threads: 0
 

Darray is a multidimential array of class details so you neede to use Darray[0][0] something like that in order to access details object in Darray.
Darray[0][0] = name won't work because java compiler can't convert string to details.
i am not sure but you might need to initilize every object in the array before you are going to use them. May be java compiler does this for you by calling default constructer for each element in array...

tonakai
Junior Poster
121 posts since Feb 2005
Reputation Points: 25
Solved Threads: 11
 

Java will initialise all elements of an array to null when you create the array itself.

Your Details (ALWAYS, ALWAYS, ALWAYS capitalise classnames) class should have a public setName(String name) method.
You should indeed also initialise the array elements yourself.

jwenting
duckman
Team Colleague
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
 

primitive type like int, char it is not assigned to null but zero or space, when creating arrays of these types. so,
int[] x = new int[5]; //all elements are equals to zero....

but like jwenting said when you make an array of objects they are all set to null, you need to construct each of them.

tonakai
Junior Poster
121 posts since Feb 2005
Reputation Points: 25
Solved Threads: 11
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You