Мои данные выглядит следующим образом:Как выбрать последнее значение, которое не равно нулю?
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";
}
}
С помощью этого кода, мой выход дает мне все нули. Я не могу понять, где я ошибаюсь. Кто-нибудь может помочь?
Возможный дубликат [Как сравнить строки в Java?] (Http://stackoverflow.com/questions/513832/how-do-compare-strings-in-java) – JFPicard