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.)
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.