Добрый день!
Столкнулся со след проблемой:
Считываю данные в список.
Сначала считываю в переменную String x= null;
Потом смотрю, если в переменную что-то считалось, if ((x.isEmpty())&&(x.equals(null))) {break;}
Елси считалось, то добавляю в список.
Проблема в том, что проверка на наличие в String x чегото, работает толко в том случае, если в условие я пишу (x==null).
Если я пишу x.isEmpty() или x.equals(null), мне компилятор выбрасывает ошибку :
java.lang.NullPointerException
at com.javarush.task.task08.task0822.Solution.getIntegerList(Solution.java:35)
at com.javarush.task.task08.task0822.Solution.main(Solution.java:16)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Почему наличие текста в String x я могу проверить только x==null, что в принципе не очень корректно...
package com.javarush.task.task08.task0822;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/*
Минимальное из N чисел
*/
public class Solution {
public static void main(String[] args) throws Exception {
List<Integer> integerList = getIntegerList();
System.out.println(getMinimum(integerList));
}
public static int getMinimum(List<Integer> array) {
// Найти минимум тут
return 0;
}
public static List<Integer> getIntegerList() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<Integer> list = new ArrayList();
int a =0;
String x= null;
for (int i=0; true; i++){
x = br.readLine();
System.out.println(x);
if ((x==null)&&(x.equals(null))) {break;}
else
{a = Integer.parseInt(x);
list.add(a);}
}
return list;
}
}