Как убрать лишнее поле?
Написал код на вычисление корней в квадратном уравнении:
import java.io.*;
public class LessonScanner {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = reader.readLine();
boolean flag;
String pattern = "[0-9.\\n]+";
flag = s.matches(pattern);
double a, b, c, D, x1, x2, i;
while (true) {
if (!flag) {
System.out.println("Разрешенно вводить только числа!");
break;
} else {
s = reader.readLine();
a = Double.parseDouble(s);
if (a == 0) {
System.out.println("Переменная \"a\" не может равняться 0!");
break;
}
s = reader.readLine();
b = Double.parseDouble(s);
s = reader.readLine();
c = Double.parseDouble(s);
i = Double.POSITIVE_INFINITY;
D = b * b - 4 * a * c;
if (D > 0) {
x1 = (-b + Math.sqrt(D) / (2 * a));
System.out.println("x1 = " + x1);
x2 = (-b - Math.sqrt(D) / (2 * a));
System.out.println("x2 = " + x2);
if ((Math.sqrt(D) / (2 * a)) == i) {
System.out.println("Увы получилась бесконечность");
}
}
if (D == 0) {
x1 = -b / (2 * a);
System.out.println("x1 = x2 = " + x1);
} else if (-b / 2 * a == 0) {
System.out.println("x1 = x2 = 0");
} else if (D < 0) {
System.out.println("Дискриминант не может быть меньше нуля");
}
break;
}
}
}
}
И я хочу что бы вводить можно было числа только 3 раза, но он почему-то требует ввести число 4 раза, я догадываюсь что дело в
s = reader.readLine();, но не могу додуматься как всё это исправить