Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 17/04/12, 12:25:53
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
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
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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
Avatar de FordPrefect
FordPrefect FordPrefect no está en línea
Usuario muy activo
Mensajes: 992
 
Fecha de registro: jul 2010
Mensajes: 992
Modelo de smartphone: OnePlus 6
Tu operador: R Móvil
Mencionado: 4 comentarios
Tagged: 0 hilos
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
Avatar de rinxe
rinxe rinxe no está en línea
Miembro del foro
Mensajes: 260
 
Fecha de registro: mar 2009
Localización: Teruel
Mensajes: 260
Modelo de smartphone: Xiaomi Mi5S
Versión de ROM: LineageOS 14.1
Versión de Radio: Los 40
Tu operador: Yoigo
Mencionado: 0 comentarios
Tagged: 0 hilos
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 17:58:53 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007