5

I'm pretty new at Java and I'm having a tough time figuring out how to fix this null pointer exception that has been troubling me.

I know where the problem occurs and I know what a null pointer exception is, but I have no idea how I'm going to make my program work.

Here's the code snippet where the problem is occuring:

public static void main(String[] args) {
 Scanner input = new Scanner(System.in);

    Account[] atm = new Account[10];

    for (int i = 0; i < 10; i++){
        atm[i].setId(i);
        atm[i].setBalance(100.00);
    }

Like I said, I know that it happens because the objects in atm[] are null, but I'm not sure how to fix the problem.

I'm sure it's some silly mistake because those are the kinds of mistakes I make on a regular basis, but any help that you guys can give would make my day.

Thanks!

1 Answer 1

9

Your entire array is null ! remember , arrays are never automatically initialized in java, unless they are arrays of ints,floats,doubles, or booleans.

Scanner input = new Scanner//System.in.Scanner;

Account[] atm = new Account[10];

for (int i = 0; i < 10; i++){
    **atm[i] = new Account();**
    atm[i].setId(i);
    atm[i].setBalance(100.00);
}

When you're declaring arrays that hold objects, read it as, "I'm creating an array that will hold 'x' objects." (correct), and then proceed to instantiate those objects

...as opposed to...

"I'm creating an array with 'x' objects in it." (incorrect) since there aren't any objects in there yet because they haven't been created.

Sign up to request clarification or add additional context in comments.

2 Comments

Or, perhaps a better way to think of it: arrays are always default- initialized in Java, and the initializer is always the equivalent of 0-filling: 0, 0.0, false, null, etc.
Thank you so very much! This being the first practice with Java arrays that I've had, I was completely unaware of that little tidbit! I won't let it happen again =)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.