Java - Programa que simula el calculo de La ecuacion cuadratica

   
Vista:

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder