Foro de elhacker.net

Programación => Java => Mensaje iniciado por: XpandyX en 22 Enero 2011, 23:00 pm



Título: una ayuda en un ejercicio en java.
Publicado por: XpandyX en 22 Enero 2011, 23:00 pm
bueno ante todo buenas tardes, muchas gracias por leer este inquietud.
Bueno estuve desarrollando un ejercicio en java.

les pego el código de mi desarrollo, el cual solo quiero que me acepte las variables que sean reales. Esta en negrita la parte del codigo que deseo saber como hacer para que en todo caso si estos valores de x1 y x2 sean reales enteros, esa condición es todo.

Código:
public class Ejercicio02 {

    public static void main(String[] args) {

        double x1,x2,condicion;
        int A = Integer.parseInt(JOptionPane.showInputDialog(" A = ? "));
        int B = Integer.parseInt(JOptionPane.showInputDialog(" B = ? "));
        int C = Integer.parseInt(JOptionPane.showInputDialog(" C = ? "));

        //Ax^2+By+C=0 --> x(1,2)=(-B+- Math.sqrt(B^2-$*A*C))/2A

        condicion =Math.pow(B,2)-4*A*C;

        if(condicion>=0){
           
        x1=(-B + Math.sqrt(condicion))/2*A;
        x2=(-B - Math.sqrt(condicion))/2*A;
       
            [b]if(x1 == int)[/b]{
            int a=(int)(x1);
            int b=(int)(x2);

            System.out.println("Las soluciones reales de la ecuacion cuadratica formada es:");
            System.out.println("x1 = "+a+", x2 = "+b);
            }
       
        }
        else{
            System.out.println(" La ecuacion cuadratica tiene la discriminante "
                    + "negativa por lo que no se puede encontrar las raices ");
        }
    }
}

Espero me puedan ayudar muchas gracias.
Saudos


Título: Re: una ayuda en un ejercicio en java.
Publicado por: danielo- en 23 Enero 2011, 01:12 am
Hola, se me ocurre una solucion para tu problema, a ver si te parece, lo puedes lograr usando excepciones, algo así:

Código
  1. public class Ejercicio02 {
  2.  
  3.    public static void main(String[] args) {
  4. try{
  5. double x1,x2,condicion;
  6. //Supongo q es esto lo que deseas validar q sean numeros
  7. //haciendo uso de excepciones, en caso de no poder convertir el dialogo introducido
  8. //automaticamente saltara al catch, que indicara que no puede resolver la operacion
  9. int A = Integer.parseInt(JOptionPane.showInputDialog(" A = ? "));
  10. int B = Integer.parseInt(JOptionPane.showInputDialog(" B = ? "));
  11. int C = Integer.parseInt(JOptionPane.showInputDialog(" C = ? "));
  12.  
  13. //Ax^2+By+C=0 --> x(1,2)=(-B+- Math.sqrt(B^2-$*A*C))/2A
  14.  
  15. condicion =Math.pow(B,2)-4*A*C;
  16.  
  17. if(condicion>=0){
  18.  
  19. x1=(-B + Math.sqrt(condicion))/2*A;
  20. x2=(-B - Math.sqrt(condicion))/2*A;
  21. [b]if(x1 == int)[/b]{
  22. int a=(int)(x1);
  23. int b=(int)(x2);
  24.  
  25. System.out.println("Las soluciones reales de la ecuacion cuadratica formada es:");
  26. System.out.println("x1 = "+a+", x2 = "+b);
  27. }
  28. }
  29. else{
  30. System.out.println(" La ecuacion cuadratica tiene la discriminante "
  31. + "negativa por lo que no se puede encontrar las raices ");
  32. }
  33. }catch(Exception e){
  34. System.out.println("solo numeros reales");
  35. }
  36.   }
  37.  
  38.  
  39. }
  40.  
saludos!


Título: Re: una ayuda en un ejercicio en java.
Publicado por: XpandyX en 24 Enero 2011, 00:10 am
bueno muchas gracias por ese aporte pero soy novato todavía no uso excepciones pero de igual manera ya encontré la forma de hacerlo muchas gracias.