Javafree
Página Inicial do Fórum > Java Básico

JOption - Equação 2 grau



Criar novo tópico   Responder tópico


  1. willnamp
    Posts:7


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Olá pessoal,
    Estou tentando fazer um programinha para resolver equação de segundo grau. Quanto tento compilar da erro.

    ERRO:
    ===================================



    PROGRAMA
    =============================================


    Alguém pode me ajudar?

    04/03/2009: mensagem editada por simu:
    - adicionados os tags [code] e [/code] para marcar o código.



  1. simu
    Posts:9417


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    [quote="willnamp"]Olá pessoal,
    Estou tentando fazer um programinha para resolver equação de segundo grau. Quanto tento compilar da erro.

    ERRO:
    ===================================
    G:\java>javac Sgrau.java
    Sgrau.java:11: ';' expected
    If(delta<0) JOptionPane.showMessageDialog(null,"NÒo tem raiz";
    ^
    Sgrau.java:12: ';' expected
    If(delta==0){
    ^
    Sgrau.java:17: ';' expected
    If(delta>0){float xp=(-b+raiz)/(2*a);
    ^
    Sgrau.java:20: ';' expected
    +String.valueOf(xn)
    ^
    4 errors


    PROGRAMA
    =============================================
    import javax.swing.*;
    public class Sgrau{

    public static void main(String [] arg){
    double x1,xp,xn;
    float a = Float.parseFloat(JOption.showInputDialog(null,"Digite valor A:");
    float b = Float.parseFloat(JOption.showInputDialog(null,"digite valor B:");
    float c = Float.parseFloat(JOption.showInputDialog(null,"digite valor C:");
    double delta = Math.pow(b,2)-4*a*c;
    float raiz=Math.sqrt(delta);
    If(delta<0) JOptionPane.showMessageDialog(null,"Não tem raiz";
    If(delta==0){
    x1=-b/(2*a);
    String m= "tem 1 raiz" +String.valueOf(x1);
    JOptionPane.showMessageDialog(null,m);
    }
    If(delta>0){float xp=(-b+raiz)/(2*a);
    float xn=(-b-raiz)/(2*a);
    m="Tem 2 raizes: x1 e x2" + String.valueOf(xp) +" "
    +String.valueOf(xn)
    JOptionPane.showMessageDialog(null,m);
    }
    }
    }

    Alguém pode me ajudar?


    Oi
    a primeira mensagem de erro significa que o compilador achou um erro na linha 11, somente aceita um ';' na posição indicada:

    Note a marca '^' apos a linha "If(delta<0) JOptionPane.showMessageDialog(null,"NÒo tem raiz";"
    o problema é apos fechar os parenteses do If, portanto o compilador quer dizer que não aceita nada alem de um ';' nessa posição.

    Razão: voce escreveu o "If" com letra maiúscula e o compilador não reconheceu como sendo um "if" e sim como o método "If".

    Escreva os "if" com letras minúsculas e vai resolver todos os erros, com exceção do último, nesse caso o compilador acertou, tá faltando um ';' no fim da linha.
    []]
    _________________

      Nome real: Carlos F. Heuberger

    Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!

    "The mod javafree deserves, but not the one it needs right now."
    --------------------
    Não leio nem respondo MPs!
    This posting is provided AS IS with no warranties and confers no rights.



  1. staroski
    Posts:4599


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Eis uma forma mais elegante de resolver equações do segundo grau:


    Exemplo de uso da classe Baskara:

    _________________

    Ricardo Artur Staroski, OCP-JP
    Blumenau - SC
    Faço seu trabalho Java,
    clique aqui

    Acesse http://www.guj.com.br/



  1. willnamp
    Posts:7


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    [quote="simu"]Oi
    a primeira mensagem de erro significa que o compilador achou um erro na linha 11, somente aceita um ';' na posição indicada:

    Note a marca '^' apos a linha "If(delta<0) JOptionPane.showMessageDialog(null,"NÒo tem raiz";"
    o problema é apos fechar os parenteses do If, portanto o compilador quer dizer que não aceita nada alem de um ';' nessa posição.

    Razão: voce escreveu o "If" com letra maiúscula e o compilador não reconheceu como sendo um "if" e sim como o método "If".

    Escreva os "if" com letras minúsculas e vai resolver todos os erros, com exceção do último, nesse caso o compilador acertou, tá faltando um ';' no fim da linha.
    []]



    Fiz as alterações que você falou. Depois começou aparecer o erro abaixo:



    Então fiz mas um modificações conforme o coselho dado pelo outro amigo que também respondeu o fórum então o programa ficou assim:


    Mas continou a ocorre o seguintes erros:




    adiciona os [code] e [/code] às mensagens de erro



  1. simu
    Posts:9417


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    cannot find symbol -> palavra não encontrada, ou seja, o simbolo (normalmente variável, método, classe, ou...) não foi encontrado

    1° "variable JOption" -> o que é um JOption? deve ser JOptionPane

    2° "class Baskara" -> onde tem a classe Baskara? Voce implementou essa classe? tem o import, se necessário?

    []]
    _________________

      Nome real: Carlos F. Heuberger

    Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!

    "The mod javafree deserves, but not the one it needs right now."
    --------------------
    Não leio nem respondo MPs!
    This posting is provided AS IS with no warranties and confers no rights.



  1. willnamp
    Posts:7


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    Agora funcionou.

    Obrigado Carlos e Ricardo pela ajuda.

    O código ficou assim:



  1. simu
    Posts:9417


    Comment Arrow

    Publicado em: 09/04/2009 23:18:44

    beleza!
    mas tambem estude a estrutura sugerida pelo Ricardo:
    cada classe tem uma funcionalidade definida/simples, é mais Orientado a Objetos.
    Dessa maneira fica mais fácil de ler e manter o código, alem de melhorar a reusabilidade do código.
    []]

    _________________

      Nome real: Carlos F. Heuberger

    Removeram os meus direitos de administrador e moderador - sem aviso, pela segunda vez - contate o ombudsman (?), a equipejavafree ou a "alta gerência" se necessário - Que pena... que terminou dessa maneira!

    "The mod javafree deserves, but not the one it needs right now."
    --------------------
    Não leio nem respondo MPs!
    This posting is provided AS IS with no warranties and confers no rights.



  1. lucas kania
    Posts:3


    Comment Arrow

    Publicado em: 05/08/2016 21:57:45

    int a = Integer.parseInt(txtA.getText());
    int b = Integer.parseInt(txtB.getText());
    int c = Integer.parseInt(txtC.getText());
    double r= Math.pow(b, 2)- 4 * a * c;
    lblRes.setText(Double.toString(r));



  1. Relacionados