У меня есть файл, который содержит множество названий фильмов, а также их годы, рейтинг из 5 звезд и продолжительность. Я пытаюсь прочитать файл и сохранить заголовки, год, рейтинг и длину в качестве переменных. Проблема, с которой я столкнулся, заключается в моем коде для получения года. Код компилируется, но затем при запуске генерирует исключение NumberFormatException, когда попадает в фильм с несколькими годами (например, он указан как 2006-2009). Вот мой код.
while((line = bufferedReader.readLine()) != null) {
//System.out.println(line);
for(int i = 0; i < line.length(); i++)
{
if(line.charAt(i) == ')' || line.charAt(i) == '-')//get year
{
yr = line.substring(yearStart,i);
year = Integer.parseInt(yr);
}
}
System.out.println(year);
}
Разве line.charAt(i) == '-'
в моем выражении if не должно заботиться об этой проблеме?
РЕДАКТИРОВАТЬ: приведенный ниже код - это источник yearStart.
if(line.charAt(i) == '(')//get title
{
title = line.substring(0,i);
yearStart = i+1;
}
Файл имеет такой формат: title (year) | rating, length
Извините, я должен был включить это изначально.
РЕДАКТИРОВАТЬ № 2: Вот образец части файла, если это поможет
!Women Art Revolution (2010) | 3 stars, 1hr 22m
#1 Cheerleader Camp (2010) | 3 stars, 1hr 35m
$5 a Day (2008) | 3.4 stars, 1hr 37m
'night, Mother (1986) | 3.7 stars, 1hr 36m
'Til Death (2006-2009) | 3.7 stars, 4 Seasons//This is the one that causes the error
@Suicide Room (2011) | 3.4 stars, 1hr 51m
... And God Spoke (1993) | 2.8 stars, 1hr 22m
yearStart
? - person joval   schedule 10.11.2013yearStart
? Здесь это важно, но я не вижу, чтобы он был определен или инициализирован. (джовал, сглаз!) - person kviiri   schedule 10.11.2013