Equação de 2o grau em Java

Publicado por André (última atualização em 17/08/2010)

[ Hits: 23.545 ]

Homepage: http://127.0.0.1

Download 4722.Equacao.java




Equação de 2o grau "codada" (escrita) por mim.  É um código bem simples, qualquer dúvida sobre este código pode ser sanada entrando em contato comigo pelo Viva o Linux.

PS:  Utilizei o seguinte algoritmo: http://www.babooforum.com.br/forum/index.php?showtopic=199722

  



Esconder código-fonte

/*

Resolução da equação de 2º grau
Código feito por André S. Rosa Junior  a.k.a.  Fairplay
Programmer /  Security Analyst

Utilizei o algoritmo:
http://www.babooforum.com.br/forum/index.php?showtopic=199722

*/


import java.util.Scanner;


public class Equacao {

    public static void main(String args[])
    {

        int delta;
        int x1;
        int x2;
        int raiz;

        Scanner entrada = new Scanner(System.in);

        System.out.print("Entre com o valor de A: ");

        int a = entrada.nextInt();

        System.out.print("Entre com o valor de B: ");

        int b = entrada.nextInt();

        System.out.print("Entre com o valor de C: ");

        int c = entrada.nextInt();




        if(a != 0){

            delta = b*b * 4 * a * c;

        if(delta >= 0)
        {
            x1 = (int) (( -b + (Math.sqrt (delta))) / ( 2*a ));

            x2 = (int) (( -b + (Math.sqrt (delta) ) ) / ( 2*a ));

            System.out.println("O valor de x1 e: "+x1);
            System.out.println("O valor de x2 e: "+x2);

        }
        else
        {
                System.out.println("Nao foi possivel resolver, pois "+delta+" e menor que 0");

        }

        }

        else
        {
            System.out.println("Nao e uma equacao de 2º grau, pois A e = 0");

        }



        }
        }

Scripts recomendados

Chat em Java com um usuário final e um bot

Calculadora de Operações Básicas em JAVA

Algoritmo de Warshall

Troca de A por B

Chat em Java - GUI com Swing e Regex


  

Comentários
[1] Comentário enviado por carlosOFF em 17/08/2010 - 13:20h

cara, só tem um errinho... hehehe
mas erro da matematica.
ou o x1 ou o x2 tem que ser (int) (( -b - (Math.sqrt (delta) ) ) / ( 2*a ));
b - raiz quadrada,
mas bem bacana o código!

[2] Comentário enviado por removido em 20/08/2010 - 07:57h

Só duas coisinhas que podem ajudar a melhorar o código:

1º - Você faz um cast em x1 e x2, porém não seria melhor declarar essas variáveis como float ou double? Com variáveis do tipo int pode haver perda de precisão no resultado.

2º - Você declarou uma variável raiz, porém nunca a utilizou, em java é importante preocupar-se com recursos utilizados. Nesse caso uma variável ocupa espaço desnecessário na memória.

Tenho um exercício da Faculdade da equação de baskara que fiz a algum tempo atrás em Java, vou procurar e depois posto aqui.

[3] Comentário enviado por mouraneto11 em 31/12/2017 - 01:57h

package meuprimeiroapp;
import java.util.Scanner;
public class test {

public static void main(String args[])
{ // Variáveis raiz
double r1,r2;
// Solicitando os valores
Scanner entrada = new Scanner(System.in);

System.out.print("Entre com o valor de A: ");int a = entrada.nextInt();

System.out.print("Entre com o valor de B: ");int b = entrada.nextInt();

System.out.print("Entre com o valor de C: ");int c = entrada.nextInt();
// Condição de existência: a diferente de 0
entrada.close();
if(a != 0){
int delta = b*b * 4 * a * c; // Baskara e declarando a variável Delta
// Condição de existência Delta maior ou igual a zero
if(delta >= 0){
r1 = (double) (( -b + (Math.sqrt (delta))) / ( 2*a ));
r2 = (double) (( -b - (Math.sqrt (delta) ) ) / ( 2*a ));

System.out.println("Primeira Raiz: "+r1);
System.out.println("Segunda Raiz: "+r2);
}
else {
System.out.println("Não existe raiz no campo dos reais.");
}

}
else{
System.out.println("Não é uma equação de 2 grau, pois A é = 0");
}
}
}


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts