Я работаю над головоломкой для Spotify (см. здесь). Я пишу решение на Java, и я получил свой код для передачи двух примеров входных данных в Eclipse, на ideone.com и через терминал на моем osx, все без ошибок. Однако всякий раз, когда я отправляюсь к боту Spotify, я получаю следующий минималистский ответ:
Мы протестировали ваше решение, и при этом, к сожалению,
обнаружил следующую ошибку: Ошибка времени выполнения
Исключение не было поймано
Вот в основном то, что я делаю, чтобы читать ввод:
scn = null;
try {
scn = new Scanner(System.in);
if(scn.hasNext()){
strIn = scn.nextLine();
//do work on first line of input
}
if(scn.hasNext()){
strIn = scn.nextLine();
//do work on second line of input
}
//do work on the rest of the lines
while (scn.hasNext()) {
strIn = scn.nextLine();
if(/*reached last line*/){
break;
}
}
}
catch(Exception e){
System.out.println("Exception caught");
System.out.println(e.getStackTrace());
} finally {
if (scn != null) {
scn.close();
}
}
Вы можете просмотреть мое полное решение здесь. Обратите внимание, что мое фактическое представление объявляет мой класс общедоступным в соответствии с рекомендациями по отправке Spotify.
Поскольку проблема требует только простого ввода-вывода из стандартного ввода в стандартный вывод, кажется, что мне нужно учитывать только любые исключения, которые могут быть вызваны, когда я читаю ввод в своем блоке try. Я предоставляю блок catch для всех исключений (плохая форма, которую я знаю), но разве это не должно с этим справиться? Может быть, я пренебрегаю некоторыми исключениями, которые могут появляться где-то еще?
Возможно, я не учитываю какую-то небольшую особенность в том, как боты Spotify анализируют входные данные, но их ответное сообщение и рекомендации затрудняют точное определение проблемы. Я прошу прощения, если этот вопрос слишком локализован - другие вопросы-головоломки Spotify рассматривались таким образом - но я полагаю, что мои вопросы ввода-вывода и исключения достаточно широки, и, возможно, у людей есть хорошие ответы о том, как могут работать боты Spotify. Кроме того, прошло некоторое время с тех пор, как я кодировал на Java, поэтому любые другие комментарии, безусловно, приветствуются.
catsvsdog
. Я просто хочу, чтобы моя программа по крайней мере сообщала о неправильном выводе вместо этого проклятого исключения. Вам интересно посмотреть, случайно? 21.08.2013