2015-08-10 6 views
0

Мои данные выглядит следующим образом:Как выбрать последнее значение, которое не равно нулю?

fy|cycle|lea|course|section|description|ssn|uniq_stu_id|grade_1|grade_2|grade_3|grade_4|credit|Date 
22|7|6003127|420000|4|BIOLOGY|6435|530|D|D|NULL|NULL|NULL|2012 
22|7|6003127|420000|4|BIOLOGY|4328|152|NULL|NULL|B|NULL|NULL|2012 
22|7|6003127|421000|1|CHEMISTR|429|1872|B|B|NULL|NULL|NULL|2012 
22|7|6003127|422000|1|PHYSICS|1178|950|B|A|NULL|C|NULL|2012 

Я заинтересован в колоннах grade_1, grade_2, grade_3 и grade_4. Я хочу выбрать последний класс. 1,2,3 и 4 - семестры, поэтому в первом ряду я хочу выбрать D из Grade_2. Точно так же из последней строки я хочу выбрать C из класса_4. В моем окончательном выпуске я хочу, чтобы только один столбец заменил эти столбцы 4 класса, отображающие окончательный или последний класс вместе с другими информационными столбцами.

Мой подход заключается в следующем:

FileReader fileReader = new FileReader(inputFile); 
BufferedReader br = new BufferedReader(fileReader); 

while ((line = br.readLine()) != null) { 
    String[] parts = line.split("\\|"); 
    System.out.println(parts[11].toString()); 
    if (parts[11].toString() != "NULL") { 
     final_grade = parts[11].toString(); 
    } else if (parts[10].toString() != "NULL") { 
     final_grade = parts[10].toString(); 
    } else if (parts[9].toString() != "NULL") { 
     final_grade = parts[9].toString(); 
    } else if (parts[8].toString() != "NULL") { 
     final_grade = parts[8].toString(); 
    } 
    else { 
     final_grade = "N/A"; 
    } 
} 

С помощью этого кода, мой выход дает мне все нули. Я не могу понять, где я ошибаюсь. Кто-нибудь может помочь?

+1

Возможный дубликат [Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) – JFPicard

ответ

1

Проверка равенства строк должна быть выполнена с помощью equals().

Использование == для строк сравнивает объект вместо фактического значения.

+0

Спасибо, сработало! :) – user3292085

Смежные вопросы