Этот код в Java, кажется, превращает мои отрицательные целые числа в положительные.Я передаю в -9 и 1, и в моем отладчике i в моем первом цикле for начинается с 27 вместо отрицательного 27. Что еще более странно, что если я добавлю строку, чтобы сделать i = -1, он переключаетсямежду -27 и -28 навсегда.Может кто-нибудь сказать мне, почему?
Я передаю -9, 1. Результат должен быть числом, кратным 3, и модулем 5. Я думаю, что -29 соответствует этому критерию.
public static int getIntegerH(int x, int y) {
System.out.println("The result of the getIntegerH method:");
boolean flag = true;
int n = x * 4; // 36
int m = x * 3; // 27
if (x == y) {
flag = true;
}
if (x < 0 || y < 0) {
for (int i = -m; i < -n; i++) {
if (i / 3 == x && i % 5 == y ) {
System.out.println(i);
flag = false;
}
}
} else if (x > 0 || y > 0) {
for (int i = m; i < n; i++) {
if (i / 3 == x && i % 5 == y ) {
System.out.println(i);
flag = false;
}
}
}
if (flag == true) {
System.out.println("No such number");
}
return 0;
}