Saltar al contenido

¿Dividir dos enteros en Java me da 0 o 100?

Ten en cuenta que en las ciencias cualquier problema suele tener diferentes soluciones, pero nosotros mostramos lo más óptimo y eficiente.

Solución:

Lo que podrías hacer es forzarlo a dividir a y b como dobles así:

int x = (int) (((double) a / (double) b) * 100);

La división de enteros no tiene fracciones, por lo que 500 / 1000 = 0.5 (¡eso no es un entero!) que se trunca al entero 0. Probablemente quieras

int x = a * 100 / b;

Parece que no está escribiendo correctamente sus variables; dos divisiones enteras dan como resultado un número entero, no un flotante o un doble. Por ejemplo:

(int)3 / (int)5 = 0
(float)3 / (float)5 = 0.6

Reseñas y valoraciones

Eres capaz de añadir valor a nuestra información contribuyendo tu experiencia en las ilustraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *