У вас есть несколько дефектов здесь. Во-первых, как указали другие, это неправильно:
for (int i = 0; i >= dom;i++)
Единственный случай, когда это действительно сработает, это если dom
равно 0
(в этом случае он будет запущен ровно один раз). Если dom
больше 0, то i
никогда не будет больше или равно ему. С другой стороны, если dom
отрицательно, i
будет всегда больше его, потому что вы делаете i++
на каждой итерации.
Во-вторых, выделаю деление неправильно. Результат следующий:
double x = Integer.parseInt("3") / Integer.parseInt("4");
System.out.print(x); // Prints 0.0
на самом деле 0.0
, потому что он выполняет целочисленное деление. Однако, результат этого:
double x = (double)Integer.parseInt("3") / Integer.parseInt("4");
System.out.print(x); // Prints 0.75
- ожидаемый 0.75
.
Вы делаете это в нескольких местах в вашем коде.