/*
* 8. Hacer un programa en el que se declare un vector de 5 datos de tipo
* EcuacionSegundoGrado. A continuación, de manera aleatoria,
* a.- asignar al vector 5 ecuaciones que tengan solución. Escribir los valores de
* las cinco ecuaciones, así como de sus soluciones.
* b.- Escribir también cuántas ecuaciones se generaron hasta dar con una válida
* para cada elemento del vector.
*/
package unidad2ejercicio8;
import java.util.Random;
/**
*
* @author juan
*/
public class Unidad2Ejercicio8 {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
double a,b,c;
Random aleatorio = new Random();
int novalida=0;
int i=0;
EcuacionSegundoGrado vector [] = new EcuacionSegundoGrado[5];
while (i<vector.length){
a = aleatorio.nextInt(10);
b= aleatorio.nextDouble();
c=aleatorio.nextDouble();
vector[i] = new EcuacionSegundoGrado(a,b,c);
if (vector[i].averigua()) ++i;
else novalida++;
}
for (int j = 0; j < vector.length; j++) {
System.out.println("Ecuación "+ j+": "+ vector[j].getA() +"X2 +"+ vector[j].getB()+"X +"+vector[j].getC() + " = 0 ");
System.out.printf("%n Solución 1: %f Solución 2: %f %n",vector[j].obtenerSolucion1(),vector[j].obtenerSolucion2() );
System.out.println();
}
System.out.printf("\nSe generaron %d soluciones para obtener 5 válidas",novalida+5);
}
}
package unidad2ejercicio8;
/**
*
* @author juan
*/
public class EcuacionSegundoGrado {
private double a;
private double b;
private double c;
public EcuacionSegundoGrado() {
}
public EcuacionSegundoGrado(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public double getA() {
return a;
}
public void setA(double a) {
this.a = a;
}
public double getB() {
return b;
}
public void setB(double b) {
this.b = b;
}
public double getC() {
return c;
}
public void setC(double c) {
this.c = c;
}
public void setCoeficientes(double a, double b, double c) {
this.a = a;
this.b = b;
this.c = c;
}
public boolean averigua() {
if ((a != 0) && (b * b - 4 * a * c >= 0)) {
return true;
} else {
return false;
}
}
public double obtenerSolucion1() {
return (-b + Math.sqrt(b * b - 4 * a * c)) / (2 * a);
}
public double obtenerSolucion2() {
return (-b - Math.sqrt(b * b - 4 * a * c)) / (2 * a);
}
}
No hay comentarios:
Publicar un comentario