In Java (unlike C++) when you "create an array of objects," it actually just creates an array of reference types for that kind of object; it doesn't actually create the objects. (That concept takes a little getting used to. At least it did for me.)
Anyhow...
Try something like the following with your original code. (The error has nothing to do with the constructor.)
general nationals[] = new general[...whatever...];
for( int i = 0; i < nationals.length; i++) //<---It's better not to hard-code the size of the array as some constant. Use the length member
{
nationals[i] = new general();
// Now you have an object to deal with
nationals[i].addgeninfo(); // Or whatever...
.
.
.
Once you get past the problem with null pointer exception, you can go back and flesh out the constructor so that it does what I think you had in mind.
Cheers!
Z