¿Por qué las matemáticas no están redondeando mi número? Java

Intentando escribir este script que funciona con entradas que a menudo llegan a cientos de miles de millones. Sin embargo, Math.ceil no se redondeará hacia arriba?

int clayturns  = (int)Math.ceil(clayneeded / 7500000000L);
System.out.println((int) Math.ceil(clayneeded / 7500000000L));
System.out.println("we need " + clayturns + "turns");
System.out.println("we need " + clayneeded + " clay added to our specific village.");

aquí debajo tengo la salida de la consola eclipse. Como puede ver, Clayneeded no está en blanco. Como si ese fuera el caso, las vueltas de arcilla siempre deberían ser algo, no puede ser cero, pero lo es.

we need 0turns
we need 3021588634 clay needed to our specific village.

Por favor dejame saber lo que tu piensas. ¿Mail Ceil no funciona con Longs?

Respuesta 1

Parece que clayneededtiene un tipo entero (probablemente long). Así clayneeded/7500000000Les la división de enteros (cociente), por lo tanto, ceilcalcula el techo de un entero, así mismo.

Por lo tanto, puede calcularlo de esta manera (si el resto de la división de enteros no es nulo, entonces el techo debe producir el siguiente entero):

long remainder = clayneeded % 7500000000L;
long result = (clayneeded/7500000000L)+(remainder!=0?1:0);
Respuesta: 2

Usando Solr 3.6.1, tengo este campo en mi schema.xml: <field name = "names" type = "text_general" indexed = "true" warehouse = "false" multiValued = "true" /> <dynamicField name = " nombres_ * "tipo =" ...

Creé el método update () que usa JPA. Se ve así: la actualización pública booleana (programa Programy) genera una excepción {try {entityManagerFactory = Persistence ....

Estoy desarrollando una aplicación con Java que necesita encontrar dos enteros grandes (Y y Z) que cumplan estas dos condiciones: Y ^ k <N y Z ^ j <N <Z ^ (j + 1) N, k y j son conocidos . N es un gran número entero (...

Me gustaría cargar una imagen en mi programa, pero de inmediato mi jar ejecutable también podrá hacerlo. Tan nuevo ImageIcon (URL); a JLabel realmente no funciona. Todos mis archivos java están en la carpeta src, en ...