Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save rafarocha/ed4e6cbc0d0e5805b2f15aa7120104dd to your computer and use it in GitHub Desktop.
Save rafarocha/ed4e6cbc0d0e5805b2f15aa7120104dd to your computer and use it in GitHub Desktop.
turma-1076-desafio01-feedback-sylas-clozel.java
import java.util.Scanner;
import static java.lang.Math.pow;
public class Main {
public static void main(String[] args) {
double a,b,c,delta,x1,x2;
System.out.println("Digite os números de uma equação do segundo grau ");
System.out.println("Digite a");
Scanner leitor = new Scanner(System.in);
System.out.print(">");
a = leitor.nextDouble();
if (a != 0) {
System.out.print(">");
b = leitor.nextDouble();
System.out.print(">");
c = leitor.nextDouble();
delta = (pow(b, 2) - 4 * a * c);
if (delta < 0) {
System.out.println("Não existe raiz no conjunto dos reais");
} else if (delta == 0) {
x1 = ((b + delta) / 2 * a);
System.out.println("As raizes x1 e x2 são iguais = " + x1);
} else {
x1 = (b - delta) / (2 * a);
x2 = (b + delta) / (2 * a);
System.out.printf(" as raizes são: x1 = %.2f e x2 = %.2f ", x1, x2);
}
} else {
System.out.println("A equação não é do segundo grau");
}
}
}
@rafarocha
Copy link
Author

Revisão

  • Algoritmo para alguns casos implementados com falhas em 34 linhas totais
  • Soube desenvolver o fluxo de controle funcional para cálculos e, no entanto:
    • Alguns resultados errados. Abaixo deixo alguns pontos de melhoria futuros

Melhorias

  • Também o mesmo caso do estilo de código do Desafio 03 sobre ter linhas juntas. Conferir aqui!
  • Faltou explorar refatorar e reuso em algumas partes do código e depois mudando o sinal.
  • Uma apresentação inicial do programa com mensageria e/ou saudação ao final seria bom
  • Explorar a lógica em separação por métodos, por exemplo, apresentação de texto e ao pedir dados
  • Poderia tratar em próxima oportunidade o try/catch conforme link abaixo no uso do scanner
  • Para entradas (a,b,c)=(1,-3,2) retornou o resultado errado -2 e -1, para o cenário 01
  • Para entradas (a,b,c)=(4,4,1) retornou o resultado errado 8.0, para o cenário 02
  • Para entradas (a,b,c)=(12345,-54321,9876) retornou o resultado x1 = -99763.00 e x2 = 99758.60, para o cenário 05

Referências

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment