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/b1d85fc631819cbbdde3a6385454cdaf to your computer and use it in GitHub Desktop.
Save rafarocha/b1d85fc631819cbbdde3a6385454cdaf to your computer and use it in GitHub Desktop.
turma-1076-desafio01-feedback-patricia-ferreira.java
public class Main {
public static void main(String[] args) {
// (-b2 +_(4*a*c)) / 2*a
int a=4;
int b=4;
int c=1;
double delta = Math.pow(b,2) - (4*a*c);
double denominador = 2*a;
double numeradorx1 = -b+Math.sqrt(delta);
double numeradorx2 = -b-Math.sqrt(delta);
double x1 = numeradorx1/denominador;
double x2 = numeradorx2/denominador;
if (delta>=0){
if (x1 == x2){
System.out.println("X1 = X2 = "+String.format("%.2f",x1));
}else {
System.out.println("X1 = "+ x1);
System.out.println( "X2 = "+x2);
}
}else {
System.out.println("Não existe raíz real");
}
}
}
@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)=(4,4,1) indicou X1 = X2 = -0.50
    • Não está errado mas poderia indicar uma raiz apenas
  • 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(delta) com a mudança de sinal incluindo numeradores
  • Poderia extrair obter dados de entrada em método e entre outras partes do código
  • Evite deixar codigo comentado // (-b2 +_(4*a*c)) / 2*a

Referências

@Patycrazier
Copy link

Obrigada, Rocha! Vou ler o material que você recomendou.

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