Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rafarocha/5951ef2a439e3a5fb3147fabddd667ca to your computer and use it in GitHub Desktop.
Save rafarocha/5951ef2a439e3a5fb3147fabddd667ca to your computer and use it in GitHub Desktop.
turma-1076-desafio01-feedback-deyse-ribeiro.java
import java.util.Scanner;
import java.lang.Math;
public class Main {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
float a;
float b;
float c;
double x1;
double x2;
System.out.println("Insira o primeiro numero,e.g 'a':");
a = entrada.nextFloat();
System.out.println("Insira o segundo numero,e.g 'b':");
b = entrada.nextFloat();
System.out.println("Insira o terceiro numero,e.g 'c':");
c = entrada.nextFloat();
x1 = (-b+Math.sqrt(b*b-4*a*c))/2*a;
x2 = (-b-Math.sqrt(b*b-4*a*c))/2*a;
System.out.println("As raizes são:\n"+"X1:"+x1+"\nX2:"+x2);
}
}
@rafarocha
Copy link
Author

Revisão

  • Algoritmo para alguns casos implementados com falhas em 67 linhas totais
  • Código com fluxo funcional favorável para maioria dos casos

Melhorias

  • Para entradas (a,b,c)=(0,0,0) indicou X1:0.0 e X2:-0.0 e deveria indicar não quadrática
  • Para entradas (a,b,c)=(0,0,0) indicou X1:-8.0 e X2:-8.0
    • Deveria retornar uma única raiz. Veja o cenário 02 para mais detalhes
  • Para entradas (a,b,c)=(2,1,5) indicou X1:NaN e X2:NaN e deveria indicar que não tem raízes
  • Para entradas (a,b,c)=(0,3,-2) indicou X1:-2.895786426044878E7 e X2:-6.416348807395513E8. Ver cenário 05
  • Para entradas (a,b,c)=(12345,-54321,9876) indicou X1:0.0 e X2:-0.0. Ver cenário 04
  • Poderia ter feito uma discreta apresentação do programa na inicialização
  • Poderia tratar em próxima oportunidade o try/catch conforme link abaixo no uso do scanner
  • Poderia haver constantes para textos fixos específicos
  • Poderia extrair cálculo em método (-b+Math.sqrt(b*b-4*a*c))/2*a com a mudança de sinal incluindo numeradores
  • Poderia extrair obter dados de entrada em método e entre outras partes do código

Referências

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