This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes java.lang.NullPointerException Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "java.lang.NullPointerException" Watch "java.lang.NullPointerException" New topic
Author

java.lang.NullPointerException

Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
What happen with my code? everytime i try to read or print the values from the arraylist , it shows java.lang.nullpointerexception... AH!!!

3000
1000
4000
2000


i am trying to read the integer of the text file above and then store them into an Integer ArrayList





This is the second class to show the results
Maneesh Godbole
Saloon Keeper

Joined: Jul 26, 2007
Posts: 10172
    
    8

Welcome to the Ranch!

It would help us help you better if you provide us with more information like which like does the NPE originate at. The simplest way to do it is copy past the stack trace you see on your console (Please UseCodeTags while posting it)

Typically a null pointer exception is thrown when you try to invoke any method on a null object.

This would be more suitable on the beginner forum. Moving...


[How to ask questions] [Donate a pint, save a life!] [Onff-turn it on!]
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
sorry! edited... the full codes are up there
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7552
    
  18

Lu Kim Hui wrote:sorry! edited... the full codes are up there

Could you also supply the NPE stack trace exactly as you received it? The first 10 lines or so should be sufficient.

Winston


Isn't it funny how there's always time and money enough to do it WRONG?
Articles by Winston can be found here
Jelle Klap
Bartender

Joined: Mar 10, 2008
Posts: 1756
    
    7

Take a look at line 10 of the SalesCounter class. What anre't you doing there, or anywhere else in the code?


Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
java.lang.NullPointerException
at SalesCounter.readFromFile(SalesCounter.java:35)
at SalesCounterDemo.main(SalesCounterDemo.java:6)
at __SHELL1.run(__SHELL1.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at bluej.runtime.ExecServer$3.run(ExecServer.java:724)
java.lang.NullPointerException
at SalesCounter.printSalesList(SalesCounter.java:48)
at SalesCounterDemo.main(SalesCounterDemo.java:7)


Sorry, this you mean?

Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38064
    
  22
Yes, that is what he means. Enter the following line before line 35 and after line 34:
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
Campbell Ritchie wrote:Yes, that is what he means. Enter the following line before line 35 and after line 34:




this is the result:

Please enter file name to read from (sales.txt) :
sales.txt
salesList != null false


but the NPE errors are still the same
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7552
    
  18

Lu Kim Hui wrote:but the NPE errors are still the same

Yes, but ask yourself why. An NPE only has one cause: Something is null that wasn't expected to be.

Where do you ever set salesList to anything?

Winston
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
Erm... because this is an exercise given from my lecturer, and the requirement is reading from the file and store inside an INTEGER arraylist and lastly print them out ^^"

saleList was the Integer arraylist
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7552
    
  18

Lu Kim Hui wrote:Erm... because this is an exercise given from my lecturer, and the requirement is reading from the file and store inside an INTEGER arraylist and lastly print them out ^^"

No. That's the what. You're trying to find out why you're getting an NPE. Have a look at my last question again.

Winston
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 11169
    
  16

This line:

private ArrayList<Integer> salesList;

says "Eventually, I will create an AraryList that can hold Integers, and I will refer to it by the name salesList".

That's like saying "Someday, i will have a dog and call him 'Rover'". That doesn't mean you HAVE a dog - it just means that someday you will, and you've already picked out the name.

You never create the ArrayList. So, when you further down say "add something into the ArrayList named 'salesList'", the JVM is saying "ummm....WHAT arraylist? There is no such thing!!!"


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
Winston Gutkowski wrote:
Lu Kim Hui wrote:Erm... because this is an exercise given from my lecturer, and the requirement is reading from the file and store inside an INTEGER arraylist and lastly print them out ^^"

No. That's the what. You're trying to find out why you're getting an NPE. Have a look at my last question again.

Winston

omg!! miss out the

THANKS ALOT!!!
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
fred rosenberger wrote:This line:

private ArrayList<Integer> salesList;

says "Eventually, I will create an AraryList that can hold Integers, and I will refer to it by the name salesList".

That's like saying "Someday, i will have a dog and call him 'Rover'". That doesn't mean you HAVE a dog - it just means that someday you will, and you've already picked out the name.

You never create the ArrayList. So, when you further down say "add something into the ArrayList named 'salesList'", the JVM is saying "ummm....WHAT arraylist? There is no such thing!!!"


thanks!
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7552
    
  18

Lu Kim Hui wrote:THANKS ALOT!!!

Another satisfied customer. And isn't it much better when you work it out for yourself?

Winston
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
Winston Gutkowski wrote:
Lu Kim Hui wrote:THANKS ALOT!!!

Another satisfied customer. And isn't it much better when you work it out for yourself?

Winston


Yup !
Winston Gutkowski
Bartender

Joined: Mar 17, 2011
Posts: 7552
    
  18

Another tip for you: Get used to reading your stacktraces thoroughly.

Go through them and work out exactly which statements are involved and the order they were invoked. Personally, I use a yellow marker pen; but I'm an old fart and I hate looking at large programs on screens (and I recycle my paper ).

Winston
Lu Kim Hui
Greenhorn

Joined: Jul 06, 2012
Posts: 16
Winston Gutkowski wrote:Another tip for you: Get used to reading your stacktraces thoroughly.

Go through them and work out exactly which statements are involved and the order they were invoked. Personally, I use a yellow marker pen; but I'm an old fart and I hate looking at large programs on screens (and I recycle my paper ).

Winston


ok thanks man!
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 38064
    
  22
Paper

There are two sorts of paper when I am around.
  • Type A paper: this is white and is a hazard to life and limb because I try to write on it and nobody can read it.
  • Type B paper: this is not all white, but has writing on already, and is a hazard to life and limb because the chances of my losing it are in proportion to the importance of the writing.

  • In my opinion, you should instantiate that List inside the constructorYou should also avoid if (...) b = true ; else b = false; Look here for a better example.
    Are you closing a Scanner using System.in? You shouldn’t do that. To find out why, add this line after line 20
    Winston Gutkowski
    Bartender

    Joined: Mar 17, 2011
    Posts: 7552
        
      18

    Campbell Ritchie wrote:Type B paper: this is not all white...

    Yup, know that stuff; except I call it type 'T' paper...

    Winston
    Lu Kim Hui
    Greenhorn

    Joined: Jul 06, 2012
    Posts: 16
    Campbell Ritchie wrote:Paper

    There are two sorts of paper when I am around.
  • Type A paper: this is white and is a hazard to life and limb because I try to write on it and nobody can read it.
  • Type B paper: this is not all white, but has writing on already, and is a hazard to life and limb because the chances of my losing it are in proportion to the importance of the writing.

  • In my opinion, you should instantiate that List inside the constructorYou should also avoid if (...) b = true ; else b = false; Look here for a better example.
    Are you closing a Scanner using System.in? You shouldn’t do that. To find out why, add this line after line 20


    Thanks for the advice..... i am still a newbie
    Campbell Ritchie
    Sheriff

    Joined: Oct 13, 2005
    Posts: 38064
        
      22
    Lu Kim Hui wrote: . . .

    Thanks for the advice..... i am still a newbie
    You’re welcome. Paper should be abolished, except in books and newspapers.
     
    It is sorta covered in the JavaRanch Style Guide.
     
    subject: java.lang.NullPointerException
     
    Similar Threads
    Scanning/Storing a String that the user enters?
    Reading data from a file and storing into array of strings problem
    # of lines in a file?
    How to validate a Scanner keyboard input?