Проблема в том, что (как прокомментировал Эллиот Фриш) каждый раз, когда вы вызываете nextLine (), вы потребляете строку, поэтому в исходном операторе if
if (number.nextLine().startsWith("J") && // this nextLine reads an input line
number.nextLine().length() > 3 ) // this nextLine reads a SECOND line
вы хотите прочитать только одна строка, поэтому вызовите nextLine только один раз и сохраните его в переменной.
Просто добавьте это после начала блока try (объявление переменной):
String numberString = number.nextLine()
, а затем замените number.nextLine()
переменной в ваших условиях!