[Java] Métodos - Fórmula de Bhaskara

preview_player
Показать описание
Implementa uma aplicação Java modular que utiliza a Fórmula de Bhaskara para calcular as raízes que são soluções para um equação de segundo grau.
1) calcula o valor do discriminante (delta):
public static double delta(int a, int b, int c) { ... }

2) transforma os resultados calculados no formato String:
public static String toString(int a, int b, int c) { ... }

Veja o código-fonte nos comentários (agora validando a condição do primeiro coeficiente igual a zero).

Aplicação original:

Veja antes:

Veja também:

Veja a ordem sugerida para os vídeos sobre:

No caso da videoaula não atender suas expectativas. Por favor, deixe nos comentários seu feedback. Assim poderemos pensar em novas formas de apresentar o referido conteúdo. Obrigado!!!!
Рекомендации по теме
Комментарии
Автор

No vídeo não foi levado em consideração a possibilidade do primeiro coeficiente, variável "a", for igual a zero. Neste caso, nos cálculos das raizes vai ocorrer um erro em tempo de execução do tipo "divisão por zero": ... / (2 * a)

Uma raiz:
x = -b / (2 * a);

Duas raízes:
x1 = (-b + Math.sqrt(delta)) / (2 * a);
x2 = (-b - Math.sqrt(delta)) / (2 * a);

Desculpem!!!

* * * * * * * * * * código-fonte * * * * * * * * * *
package Metodos;

import java.util.Scanner;

public class Dez {

public static void main(String[] args) {
Scanner ler = new Scanner(System.in);

int a, b, c;

System.out.print("a: ");
a = ler.nextInt();

System.out.print("b: ");
b = ler.nextInt();

System.out.print("c: ");
c = ler.nextInt();

System.out.println();
System.out.printf("%s\n", toString(a, b, c));
}

public static double delta(int a, int b, int c) {
return(Math.pow(b, 2) - (4 * a * c));
}

public static String toString(int a, int b, int c) {
String result;

double d;
d = delta(a, b, c);

result = String.format("Coeficientes {a: %d; b: %d; c: %d}\n", a, b, c) +
String.format("Discriminante (delta): %.2f\n", d);

if ((d < 0) || (a == 0))
result = result + "não existem resultados reais\n";

if ((d == 0) && (a != 0)) {
double x;
x = -b / (2 * a);
result = result + String.format("x' e x'' = %.2f\n", x);
}

if ((d > 0) && (a != 0)) {
double x1, x2;
x1 = (-b + Math.sqrt(d)) / (2 * a);
x2 = (-b - Math.sqrt(d)) / (2 * a);
result = result + String.format("x' = %.2f\n", x1) +
String.format("x'' = %.2f\n", x2);
}

return(result);
}

}

OMEROFRANCISCOBERTOL
Автор

Boa noite, poderia repetir o mesmo exemplo mas agora tratando os erros com uma classe exception e try/catch? por favooor

rafaelmateus
Автор

poderia repetir o mesmo exemplo mas agora tratando os erros com uma classe exception e try/catch? por favooor

phillipdylan