
Programa que simula el calculo de La ecuacion cuadratica
Publicado por Gabrield (6 intervenciones) el 11/12/2015 22:57:36
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
import java.awt.*;
import java.util.Scanner;
import java.util.Vector;
import java.lang.Math;
class EcuacionCuadratica {
public double calcularDiscriminante(double a, double b, double c) throws ExcepcionNegativo {
return Math.pow(b, 2)-4*a*c;
}
public double comprobarDivisible(double a) throws ExcepcionNegativo {
return a;
}
public double calcularUnSigno(double a, double b, double c) throws ExcepcionNegativo{
return (-b+Math.sqrt(calcularDiscriminante(a, b, c)))/(2*a);
}
public double calcularOtroSigno(double a, double b, double c) throws ExcepcionNegativo{
return (-b-Math.sqrt(calcularDiscriminante(a, b, c)))/(2*a);
}
}
class ExcepcionNegativo extends Exception {
private static final long serialVersionUID = 1L;
public ExcepcionNegativo(){
super();
}
public ExcepcionNegativo(String msg){
super(msg);
}
}
class Menu {
static Scanner sc = new Scanner(System.in);
public static int opcion(){
int opcion=0;
boolean error=true;
while(error){
try {
opcion=Integer.parseInt(sc.nextLine());
error=false;
} catch (Exception e) {
System.err.println("Error. Número no válido: "+ e.getMessage());
}
}
return opcion;
}
public static double pedirNumero(){
double opcion=0.;
boolean error=true;
while(error){
try {
opcion=Double.parseDouble(sc.nextLine());
error=false;
} catch (Exception e) {
System.err.println("Error. Número no válido: "+ e.getMessage());
}
}
return opcion;
}
}
class EcuacionCuadratica1 {
public static void main(String[] args) {
System.out.println("Bienvenido a la prueba de una ecuacion Cuadratica\n"
+ "El programa realiza el cálculo de una ecuación de segundo grado para el que el usuario debe\n"
+ "introducir los datos necesarios. El programa está construido a prueba de 'Errores'\n");
int ejecutar = 0;
boolean repetir=true, error=true;
double a=0., b=0., c=0.;
double resultado1=0., resultado2=0.;
EcuacionCuadratica ecuacion = new EcuacionCuadratica();
do{
do{
System.out.println("Introduzca valor para a: "); a=Menu.pedirNumero();
System.out.println("Introduzca valor para b: "); b=Menu.pedirNumero();
System.out.println("Introduzca valor para c: "); c=Menu.pedirNumero();
try {
if (ecuacion.calcularDiscriminante(a, b, c) <=0 || ecuacion.comprobarDivisible(a) == 0) {
throw new ExcepcionNegativo("Operación no válida. La ecuación no tiene soluciones reales o no es cuadratica");
}else{
resultado1=ecuacion.calcularUnSigno(a, b, c);
resultado2=ecuacion.calcularOtroSigno(a, b, c);
error=false;
}
} catch (ExcepcionNegativo en) {
en.printStackTrace();
System.out.println("Introduzca otros numeros");
}
}while(error);
System.out.printf("\nLos resultados de la operación son: \n%.2f \n%.2f \n", resultado1, resultado2);
if (ejecutar!=1) repetir = false;
}while(repetir);
//System.out.println("----- Gracias por usar la aplicación -----");
}
}
Valora esta pregunta


0