Could you please recommend the best way how to:
input.readLine().isEmpty()
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);
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
}
}
See more on this question at Stackoverflow