I have attached code and was wondering if someone can help me though
it. I am just trying to make a simple database type program so i can
learn java. I know C++ well so i think i still need to get out of the
c++ mindset.
I get this error in eclipse "Exception in thread "main"
java.lang.NullPointerException
at allLists.AddName(allLists.java:12)
at server.main(server.java:20)"
I havent a clue what it means But i get the error when doing the
command
list[len].name = name;
in my addName method.
Why can't just do this and it work?
public static void main(String[] args)
{
ServerSocket s = null;
allLists list = new allLists();
list.AddName("jack","was","here");
try
{
s = new ServerSocket(SERVERPORT);
}
catch(IOException e)
{
System.out.println(e);
System.exit(1);
}
//while (true)
//{
Socket incoming = null;
try
{
incoming = s.accept();
}
catch(IOException e)
{
System.out.println(e);
// continue;
}
new inSocket(incoming, list).start();
//}
}
}
public class allLists
{
ResourceList[] list = new ResourceList[1000];
int len=0;
void AddName(String name, String IP, String reliability)
{
System.out.println(name);
System.out.println(len);
list[len].name = name;
len++;
}
void PrintName()
{
System.out.println(list[0].name);
}
public class ResourceList
{
public String name;
public String IP;
public String Reliability;
}
Josef Kieser - 27 Apr 2006 15:13 GMT
Hello,
> I get this error in eclipse "Exception in thread "main"
> java.lang.NullPointerException
[quoted text clipped - 4 lines]
> list[len].name = name;
> in my addName method.
You try to do something on an NULL-object.
This:
> ResourceList[] list = new ResourceList[1000];
allocates memory for an array of ResourceList instances, but it does not
create those instances.
You need do something like this:
list[len] = new ResourceList();
list[len].name = name;
...
HTH,
Josef
Mark Thomas - 27 Apr 2006 16:57 GMT
>> I get this error in eclipse "Exception in thread "main"
>> java.lang.NullPointerException
[quoted text clipped - 21 lines]
> HTH,
> Josef
And it would make it easier for java-types to understand your code if
you remembered that class names start with capital letters & variable
names start with lowercase letters.
Thanks
Mark
Trung Chinh Nguyen - 27 Apr 2006 15:22 GMT
You forgot to call the constructor list[len] = new ResourceList();
> I have attached code and was wondering if someone can help me though
> it. I am just trying to make a simple database type program so i can
[quoted text clipped - 72 lines]
>
> }