Нужна помощь, не могу понять откуда берется число 2 в моем коде, я все проверил все работает правильно, но эти два берутся из неоткуда!!! Помогите!
Заранее ответ должен быть равен 4, но код возвращает 8!!
Я понимаю что код написан не красиво, но суть в том что чтоб решить задачу Вот код:
package testone;
import java.math.*;
import java.util.Scanner;
public class TestOne
{
BigDecimal s;
BigDecimal f;
BigDecimal h;
BigDecimal y;
public BigDecimal ceil (int a, int b)
{
s = BigDecimal.valueOf(a);
h = BigDecimal.valueOf(b);
y = BigDecimal.valueOf(1);
//return ((a+b-1)/b);
f = ((s.add(h).subtract(y)).divide(h,BigDecimal.ROUND_HALF_DOWN));
System.out.println(" ceil ---" + f);
return f;
}
public BigDecimal getRezult(int m, int n, int a)
{
h = ceil(m , a);
System.out.println("hhhhhh ---" + h);
y = ceil(n , a);
System.out.println("yyyyyyyyyyyy ---" + h);
System.out.println("h.multiply(y) -----" + h.multiply(y));
return h.multiply(y);
//return ceil(m , a) * ceil(n , a);
}
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int m = scan.nextInt();
int a = scan.nextInt();
TestOne z = new TestOne();
System.out.println(z.getRezult(m, n, a));
}
}
Вывод этого кода:
6
6
4
ceil ---2
hhhhhh ---2
ceil ---2
yyyyyyyyyyyy ---4
h.multiply(y) -----8
8
BUILD SUCCESSFUL (total time: 6 seconds)
Главный вопрос, откуда в y, у меня 4 взялось, если функция как видно из вывода вернула 2?????!!!