It looks like that is the last prompt for input.
Where in the code is there any reading of input done after:
costFactor= kbd.nextDouble();

What do you expect to happen after the user responds to...