BufferedReader String check

Could you please recommend the best way how to:

  1. check that input.readLine().isEmpty()
  2. check that Integer.parseInt(input.readLine()) <10 && Integer.parseInt(input.readLine()) > 1

I do not know how to do this using fewer iterations:

    System.out.println("Please enter N natural number of Strings :");
    BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
    try {

        if (input.readLine().isEmpty()) {
            System.out.println("Dear User! \nYou did not specify number of Strings \nOr number of Strings greater then 10 \nOr number of Strings less then 1");

        } else {
            int numberOfString = Integer.parseInt(input.readLine());
            stringArrayList = new ArrayList<String>(numberOfString);
Jon Skeet
people
quotationmark

You should call readLine() once and use that input - otherwise you're checking a different line each time!

String line = input.readLine();
// readLine returns null for "end of input"
if (line == null || line.isEmpty()) {
    // Report error
} else {
    int number = Integer.parse(line);
    if (number < 1 || number > 10) {
        // Report error 
    } else {
        // Handle success
    }
}

people

See more on this question at Stackoverflow