Untitled

mail@pastecode.io avatar
unknown
java
2 years ago
1.9 kB
4
Indexable
Never
/**
 * EcuacionSegundoGrado.java
 * <p>Clase que ofrece métodos relacionados con la resolución de ecuaciones
 * de segundo grado</p>
 * @author Manuel
 * @version 1.0.0
 * @since 1.0
 */


public class EcuacionSegundoGrado {
	/**
	 * Método que nos dice si la ecuación de segundo grado
	 * se puede resolver
	 * @param a coeficiente que acompaña a x²
	 * @param b coeficiente que acompaña a x
	 * @param c coeficiente independiente
	 * @return true o false, dependiendo si NO se resuelve o SI se resuelve
	 */ 
	public static boolean esResoluble(float a, float b, float c) {
		return b * b - 4 * a * c >= 0;
	}
	/**
	 * Método que nos da la primera solución de la ecuación de segundo grado
	 * @param a coeficiente que acompaña a x²
	 * @param b coeficiente que acompaña a x
	 * @param c coeficiente independiente
	 * @return la primera solución de tipo float
	 */ 
	public static float calcularX1(float a, float b, float c){
		double resultado = (-b + Math.sqrt(b * b - 4 * a * c) ) / (2 * a);
		return (float) resultado;
	}
}

/*
 * TestEcuacionSegundoGrado.java
 */

import java.util.Scanner;
public class TestEcuacionSegundoGrado {
	
	public static void main (String[] args) {
		Scanner sc = new Scanner(System.in); 
		//leer los coeficiente a, b y c con Scanner
		System.out.println("Introduce el coeficente a");
		float a = sc.nextFloat();
		System.out.println("Introduce el coeficente b");
		float b = sc.nextFloat();
		System.out.println("Introduce el coeficente c");
		float c = sc.nextFloat();
		//llamar al método para que me diga si se puede resolver la ecuación
		boolean resoluble = EcuacionSegundoGrado.esResoluble(a, b, c);
		if (resoluble) {
			System.out.println("Es resoluble");
			float x1 = EcuacionSegundoGrado.calcularX1(a, b, c);
			System.out.printf("x1 = %.3f%n", x1);
		} else {
			System.out.println("No es resoluble");
		}
	}
}