java.lang.OutOfMemoryError: Java heap space. From trying to add scanner input values to an ArrayList -


not sure why i'm getting weird error, program not compile either there must wrong while loop made scanner. i've never seen particular error.

private arraylist gradelist;

public gradedistribution() {    this.gradelist = new arraylist<integer>(); }  public void addgrades(scanner reader) {     int grade = integer.parseint(reader.nextline());     while (true) {         if (grade == -1) {             this.printgrades();             break;         } else {             this.gradelist.add(grade); //the error points line         }     } } 

i did not include printgrades() method assure not source of problem. have no idea i'm doing wrong seems should work. arraylist initialized know it's not that...

you need move:

int grade = integer.parseint(reader.nextline()); 

inside while loop.

otherwise have infinite loop tries infinitely add value of variable grade gradelist. increases allocated size on every iteration , when exceeds limit exception thrown.

when move int grade = integer.parseint(reader.nextline()); inside loop (reader.nextline()) stop loop until user hits enter.

after change code become:

public void addgrades(scanner reader) {     while (true) {         int grade = integer.parseint(reader.nextline());          if (grade == -1) {             this.printgrades();             break;         } else {             this.gradelist.add(grade); //the error points line         }     } } 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -