That is because you have a loop over your list of bullets:
for(int i=0; i < bullets.size(); i++){
}
…and for each bullet, it checks all the enemies
…and for each enemy, it also checks this:
else if(enemies.get(j).y+enemies.get(j).w > 688){
enemies.remove(j);
lives -= 1;
break;
}
So if there aren’t any bullets, this check won’t run. Try moving it outside the bullets loop, and loop over the enemies again, separately, after you are done bullet-checking.
for(int j=0; j < enemies.size(); j++){
if(enemies.get(j).y+enemies.get(j).w > 688){
enemies.remove(j);
lives -= 1;
break;
}
}