Java - Ecuacion segundo grado

 
Vista:

Ecuacion segundo grado

Publicado por Chacon (1 intervención) el 01/12/2007 17:14:26
Acabo de empezar en la programación en Java y no consigo solucionar los dos errores que me da este programa, para solucionar ecuaciones de segundo grado. Alguien podría ayudarme. Muchas gracias.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class devoir_1 {
	public static void main (String[ ] args) {
	   {
     double A, B, C, x1, x2;
     Terminal.escribirStringln ("Introduzca el valor de a ");
      A=Terminal.leerDouble( ) ;
     Terminal.escribirStringln ("Introduzca el valor de b ");
      B=Terminal.leerDouble( ) ;
     Terminal.escribirStringln ("Introduzca el valor de c ");
      C=Terminal.leerDouble( ) ;
      if (A==0, B==0, C==0) // da error aquí
      {Terminal.escribirStringln ("x puede tomar cualquier valor")}
      else
	 {if (A==0, B==0, C != 0) ;
         Terminal.escribirStringln ("no hay solucion posible")
		else
		{if (A==0, B != 0);
		{x1==x2== - C/B}
			else
                        {double d = (B*B – (4*A*C)); // da error aquí
				if (d > 0);
				        {x1= ((-B + Math.sqrt (d))/(2*A));
				        x2= ((-B - Math.sqrt (d))/(2*A)) }
				else
					{if (d==0);
					{x1=x2= - B/ (2*A) }
					else
					{d=Math.abs(d);
        					x1= ((-B + Math.sqrt (d))/(2*A));
				            x2= ((-B - Math.sqrt (d))/(2*A))}}}}}
Terminal.escribirStringln ("x1 =  " + x1) ;
Terminal.escribirStringln ("x2 =  " + x2) ;
 
	    }
     }
}
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:Ecuacion segundo grado

Publicado por Marco (57 intervenciones) el 02/12/2007 19:43:17
Prueba Esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class devoir_1 {
public static void main (String[ ] args) {
{
double A, B, C, x1, x2;
Terminal.escribirStringln ("Introduzca el valor de a ");
A=Terminal.leerDouble( ) ;
Terminal.escribirStringln ("Introduzca el valor de b ");
B=Terminal.leerDouble( ) ;
Terminal.escribirStringln ("Introduzca el valor de c ");
C=Terminal.leerDouble( );
//especificar que tipo de operador logico utilizas
//la coma no es un operador logico
//&&=>and
//||=>or
if((A==0)&&(B==0)&&(C==0)) // da error aquí
{Terminal.escribirStringln ("x puede tomar cualquier valor");}
else
{if ((A==0)&&(B==0)&&(C != 0))
Terminal.escribirStringln ("no hay solucion posible");
else
{if ((A==0)&&(B != 0))
{x1=x2= - C/B;}
else
{double d = (B*B - (4*A*C)); // da error aquí
if (d > 0)
{x1= ((-B + Math.sqrt (d))/(2*A));
x2= ((-B - Math.sqrt (d))/(2*A)); }
else
{if (d==0)
{x1=x2= - B/ (2*A); }
else
{d=Math.abs(d);
x1= ((-B + Math.sqrt (d))/(2*A));
x2= ((-B - Math.sqrt (d))/(2*A));}}}}}
Terminal.escribirStringln ("x1 = " + x1) ;
Terminal.escribirStringln ("x2 = " + x2) ;
 
}
}
}
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

RE:Ecuacion segundo grado

Publicado por Emilio (1 intervención) el 06/11/2008 22:35:22
No se si ya sabras resolver el problema, pero despues de casi 1 año, aqui lo tienes. Prueba con esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import java.util.*;
 
class ecuacion
{
static Scanner teclado = new Scanner(System.in);
public static void main(String main[])
{
System.out.println("Dime un valor de a...");
double a=teclado.nextDouble();
System.out.println("Dime un valor de b...");
double b=teclado.nextDouble();
System.out.println("Dime un valor de c...");
double c=teclado.nextDouble();
if(b*b<4*a*c){
System.out.println("Solucion perteneciente al campo de los numeros complejos.");
}
else if(a!=0&&b*b>4*a*c){
System.out.println("La primera solucion es "+(-b+Math.sqrt(b*b-4*a*c))/(2*a));
System.out.println("La segunda solucion es "+(-b-Math.sqrt(b*b-4*a*c))/(2*a));
}
else {
System.out.println("Esta ecuacion no es de segundo grado.");
}
teclado.close();
}
}
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

RE:Ecuacion segundo grado

Publicado por sebastian muñoz (1 intervención) el 01/04/2009 05:43:05
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.io.*;
    public class factorial {
       public static void main (String arg[]) throws IOException{
         int a, b, c;
         BufferedReader lector= new BufferedReader(new InputStreamReader(System.in));
         String ingresado1;
         String ingresado2;
         String ingresado3;
         System.out.println("Ingrese A...." );
         ingresado1=lector.readLine();
         a=Integer.parseInt(ingresado1);
         System.out.println("Ingrese B...." );
         ingresado2=lector.readLine();
         b=Integer.parseInt(ingresado2);
         System.out.println("Ingrese C...." );
         ingresado3=lector.readLine();
         c=Integer.parseInt(ingresado3);
 
         if(b*b<4*a*c){
            System.out.println("Solucion perteneciente al campo de los numeros complejos.");
         }
         else if(a!=0&&b*b>4*a*c){
            System.out.println("La primera solucion es "+(-b+Math.sqrt(b*b-4*a*c))/(2*a));
            System.out.println("La segunda solucion es "+(-b-Math.sqrt(b*b-4*a*c))/(2*a));
         }
         else {
            System.out.println("Esta ecuacion no es de segundo grado.");
         }
 
      }
 
   }

//yo la e probado y funciona a muy bien a pesar de ser muy simple
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

RE:Ecuacion segundo grado

Publicado por israel (2 intervenciones) el 04/10/2010 09:43:42
algo similar me pasa a mi, solo que no me da errores al poner el resultado para x1 y x2 =NaN (no se que sea eso), total que cuando cambio signo (-) a (+) en x2 este funciona bien con los resultados solo que son los mismos para ambas x
¬¬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.io.*;
public class Ecuacion2Grado{
public static void main(String[]ur)
        throws IOException{
BufferedReader ob=new BufferedReader
          (new InputStreamReader(System.in));
double a,b,c,x1,x2;
System.out.println("dame valor de a");
a=Integer.parseInt(ob.readLine());
System.out.println("dame valor de b");
b=Integer.parseInt(ob.readLine());
System.out.println("dame valor de c");
c=Integer.parseInt(ob.readLine());
x1=(-b+Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x1 es:" + x1);
x2=(-b-Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x2 es:" + x2);
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

RE:Ecuacion segundo grado

Publicado por israel (2 intervenciones) el 04/10/2010 09:49:28
algo similar me pasa a mi, solo que no me da errores al poner el resultado para x1 y x2 =NaN (no se que sea eso), total que cuando cambio signo (-) a (+) en x2 este funciona bien con los resultados solo que son los mismos para ambas x
¬¬

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.io.*;
public class Ecuacion2Grado{
public static void main(String[]ur)
        throws IOException{
BufferedReader ob=new BufferedReader
          (new InputStreamReader(System.in));
double a,b,c,x1,x2;
System.out.println("dame valor de a");
a=Integer.parseInt(ob.readLine());
System.out.println("dame valor de b");
b=Integer.parseInt(ob.readLine());
System.out.println("dame valor de c");
c=Integer.parseInt(ob.readLine());
x1=(-b+Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x1 es:" + x1);
x2=(-b-Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x2 es:" + x2);
}
}

corrijo si funciona este!!!
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

RE:Ecuacion segundo grado

Publicado por Israel San (1 intervención) el 06/02/2012 07:34:18
Hola que tal

es un muy buen codigo el problema es que al final los resultados muestran negativo. si quieres checa insertando estos

a=1
b=18
c=80

los resultados son positivos y dan negativos

x1=10
x2=8

Hay alguna forma de poder solucionarlo?
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

RE:Ecuacion segundo grado

Publicado por dani (1 intervención) el 14/04/2013 09:23:11
Pese a q el msj anterior es del 6/2/12..m puse a analizarlo. Los resultados dan negativos porque al resolver a mano la ecuación, también dan negativos, es decir está bien el resultado q arroja el programa.
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

RE: Ecuacion segundo grado

Publicado por Edy Srithver Rivals (1 intervención) el 27/02/2018 02:51:31
Hermano Prueba Cambiando...

Los Signos Negativos Que Tienes En Tu Códigos Por Positivos... (ME REFIERO A LOS QUE ESTÁN AL LADO IZQUIERDO DE LA VARIABLE "B")

1
2
3
4
x1=(-b+Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x1 es:" + x1);
x2=(-b-Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x2 es:" + x2);


ASÍ...

1
2
3
4
x1=(+b+Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x1 es:" + x1);
x2=(+b-Math.sqrt(Math.pow(b,2)-4*a*c))/2*a;
System.out.println("el valor de la ecuacion de segundo grado para x2 es:" + x2);

//CON ESE CAMBIO TE TIENE QUE ARROJAR LOS DATOS YA EN POSITIVO :)


SALU2 DESDE AJIJIC...
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

RE: Ecuacion segundo grado

Publicado por Eustaquias (1 intervención) el 15/02/2019 09:27:52
Estoy de acuerdo
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

Ecuacion segundo grado

Publicado por Alejandra (1 intervención) el 23/05/2021 00:30:07
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import java.util.*;
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) throws Exception {
      var a = 3;
      var b = -11;
      var c = -4;
      var x1 = 0.0;
      var x2 = 0.0;
      x1 = (-b + Math.sqrt(Math.pow(b,2)-(4 * a * c)/(2*a))); // usa la formula unida no la separes
       x2 = (-b - Math.sqrt(Math.pow(b,2)-(4 * a * c)/(2*a)));// Your code here!
 
        System.out.printf("los puntos de corte en el eje x son  x1 = \"%f\"  y  x2 =\" %f\" ", x1,x2);
    }
}
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