Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 17/04/12, 12:25:53
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Ayuda con expresion matematica en Java

Buenas gente, resulta que estoy haciendo un curso java para principiantes y voy dominando ya los primeros pasos pero tengo una expresion que no consigo entenderla. No sabia donde pedir ayuda y digo haber si en HTCMania me pueden hechar una mano.

La expresion es matematica y para hayar la hipotenusa de un triangulo rectangulo.

Si la hago asi:
Código:
hipotenusa=Math.sqrt(Math.pow(base, 2)+Math.pow(altura, 2));
Java me da un mal resultado.


En cambio si lo separo y la hago asi:
Código:
hipo=Math.pow(base, 2)+Math.pow(altura, 2);
                
        hipotenusa=Math.sqrt(hipo);
Java me da el resultado bueno

No lo entiendo, si es lo mismo porque en la primera me arroja un mal resultado.
Responder Con Cita


  #2  
Viejo 17/04/12, 15:09:18
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
No debería fallar, ¿seguro que no cambias ninguna otra cosa?

Puede que sea un bug de la versión del JDK que estás usando, prueba esto:

hipotenusa=Math.sqrt((Math.pow(base, 2)+Math.pow(altura, 2)));
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 17/04/12, 17:07:43
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Ostiaaaaa, que cosa mas rara !!!

Le metido la expresion que me has dejado tu:
Código:
hipotenusa=Math.sqrt((Math.pow(base, 2)+Math.pow(altura, 2)));
Y me hace bien el resultado


Y he cogido por probar, a quitarle los parentesis que le hemos puesto a la expresion
Código:
hipotenusa=Math.sqrt(Math.pow(base, 2)+Math.pow(altura, 2));
Y hoy me hace bien el resultado


Que cosas mas raras, debia tener el eclipse un poco rallado en ese momento, es la unica opcion que se me ocurre, jejejjj. Ya me parecia a mi que estando bien la ecuacion diera un mal resultado.

PD: Gracias por responder !!!!

Última edición por rinxe Día 17/04/12 a las 17:10:44.
Responder Con Cita
  #4  
Viejo 17/04/12, 23:30:39
Array

[xs_avatar]
FordPrefect FordPrefect no está en línea
Usuario muy activo
 
Fecha de registro: jul 2010
Mensajes: 992
Modelo de smartphone: OnePlus 6
Tu operador: R Móvil
Hola,

 Cita: Originalmente Escrito por rinxe Ver Mensaje
hipotenusa=Math.sqrt(Math.pow(base, 2)+Math.pow(altura, 2));
No es que se vaya a notar, pero es más eficiente así:

hipotenusa=Math.sqrt(base * base + altura * altura);
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 18/04/12, 10:01:11
Array

[xs_avatar]
rinxe rinxe no está en línea
Miembro del foro
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Tu operador: Yoigo
Siii, al principio usaba esa formula porque desconocia como elevar un valor a otro valor y como descubri bien la funcion Math y todas sus posibilidades, de momento prefiero dejarlo, me parece mas bonito, jejejj

Gracias FordPrefect por comentar !!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 13:29:52 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /