Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Foros > Java (básico) > Problema dividiendo, por favor ayuda!
-Foros de debate

Java (básico)
Lista de foros | Lista de mensajes de este foro

Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.

Problema dividiendo, por favor ayuda!
Enviado por novisima el día 8 de mayo de 2008

Hola,
necesito ayuda con un método de java, que no sé qué le pasa... Básicamente el problema es que no puedo hacer una división...

Os pego:

public void hallarLimites()
{
int i=0;
int aux=0;
double p=0;

for(i=0;i<lista.size();i++)
{
aux=lista.get(i).getApariciones();
p=(aux/entrada.length());
lista.get(i).setProbabilidad(p);
System.out.println("Proba :"+p);
}
}

El problema es que p (que es un double) vale o 1.0 o 0.0 no toma ningún otro valor... He intentado hacer un
System.out.println(p=(2/3)); y también sale 0.0

Un float (o double xq he probado con los dos) debería aceptar una división, no???

Por favor, ayudaaaaaaaaaa, llevo 1hora dándole vueltas y nada...

gracias!

 
Re: Problema dividiendo, por favor ayuda!
Enviado por pedrohv012005 el día 8 de mayo de 2008

en java, cuando divides un número por otro, ese otro define cómo será la división.

a/b devuelve la división entera si b es entero, es decir,
1/2 = 0
1/2.0 = 0.5
para que tu programa funcione como quieres debes escribir:
p=(aux/(float)entrada.length());

 


Tienda
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network