Java - programa de java urgente

 
Vista:

programa de java urgente

Publicado por Tania Rodriguez (2 intervenciones) el 09/06/2006 15:27:39
Un programa que calcule una ecuacion de segundo grado o formula general. por favor ayudeme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ahi te va uno

Publicado por luis (57 intervenciones) el 09/06/2006 21:58:05
hola que tal ahi te mendo un ejemplo que tenia guardado, cabe mencionar que no te da resultados de numeros negativos ya que no he tenido tiempo de corregirlo asi que si lo puedes mejorar seria muy bueno sin embargo espero que te sirva este
SALUDOS



import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Ecuaciones2Grado
{


/*---------este metodo regresa un arreglo que representa
las 2 raices de la ecacion---------*/

public static double[] resp(double a, double b, double c)
{
if (a==0 && b==0 && c==0)
return null;
else if (a==0 && b==0)
return new double[0];
else if (a==0)
return new double[]
{
-c/b
};


else
{

double discriminant= b*b-4*a*c;
if (discriminant<0)

return new double[0];
else if (discriminant==0)
return new double[]
{
(-b + Math.sqrt(discriminant))/(2*a)};
else
return new double[]
{
(-b + Math.sqrt(discriminant))/(2*a),
(-b - Math.sqrt(discriminant))/(2*a)
};
}
}


/*-----------------------------MAIN---------------------------------------*/

public static void main(String[] argv)throws IOException
{

boolean solving = true;
/*------------para leer cadenas del stdin ------------*/

BufferedReader in
= new BufferedReader(new InputStreamReader(System.in));




while(solving)
{
try
{
System.out.println("\n1. resolver la ecuacion");
System.out.println("2. salir");
System.out.print("opcion?: ");

int option = Integer.parseInt (in.readLine());
switch (option)
{
case 1:
System.out.print("el valor de a?: ");
int acoeff=Integer.parseInt (in.readLine());

System.out.print("y el de b?: ");
int bcoeff=Integer.parseInt (in.readLine());

System.out.print("y el de c? : ");
int ccoeff=Integer.parseInt (in.readLine());


System.out.println("resolviendo.....: " +
acoeff + "*x^2 + "
+ bcoeff + "*x +"
+ ccoeff + " = 0");

double[]raices = resp(acoeff, bcoeff, ccoeff);


if (raices == null)
System.out.println("todas las x son soluciones");
else if (raices.length == 0 )
System.out.println("no hay soluciones (raiz negativa)");
else if (raices.length == 1 )
System.out.println(" x2= " + raices[ 0 ]);
else if (raices.length==2)
System.out.println(" x1= " + raices [ 0 ]+
" o x2= " + raices [ 1 ]);
break;
case 2:
solving = false;
break;
default:
System.err.println ("opcion incorrecta");
break;
}
}
catch (NumberFormatException e)
{
System.err.println ("only integers for values");
}

}
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar