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
Post a Comment