Alguém pode me ajudar com mais essa? JAVA, calculator! Agradeço desde já!

Foi solicitada a criação de uma calculadora com as quatro operações básicas da matemática - soma, subtração, multiplicação e divisão.

Essa calculadora deverá receber apenas dois números de cada vez e a operação desejada.

Para construi-la, você deverá fazer o uso de uma interface com um método calcular e quatro classes que implementam esta interface, cada classe correspondente a uma operação. Crie uma classe controle para instanciar as classes das operações. Para executar a tarefa, utilize uma linguagem de programação orientada a objeto.

Ta difícil p mim bixo!

Alguém me ajudar por favor!

Muito obrigado!!!

1 curtida
public interface Operacao {

    public double calcular(double a, double b);
}

Agora crie 4 classes pra representar as operações: Soma, Subtracao, Multiplicacao e Divisao.
Cada uma delas com o implements Operacao.

O método calcular da Soma vai devolver o resultado da soma de a e b.

O método calcular da Subtracao vai devolver o resultado da subtração de a e b.

O método calcular da Multiplicacao vai devolver o resultado da multiplicação de a e b.

O método calcular da Divisao vai devolver o resultado da divisão de a e b.

1 curtida

Ta difícil para mim meu amigo, não sei se é por causa do dia específico, ou o calor. Mas n to conseguindo raciocinar muito bem isso! Mas to tentando aqui. vou ter que revisar umas coisas.

Mas agradeço a colaboração!

Começa criando a classe Soma implementando a interface Operacao.

1 curtida

/**
package calculadora;

  • @author isaura
    */
    public interface InterfaceCalc
    {
    public double calcular(double a, double b);
    }

public class Soma implements InterfaceCalc
{

@Override
public double calcular(double a, double b)
{
         return a +b;
}

}

public class Subtracao implements InterfaceCalc
{

@Override
public double calcular(double a, double b)
{
   return a -b;
}

}

public class Produto implements InterfaceCalc
{

@Override
public double calcular(double a, double b) 
{
    return a*b;
    
} 

}

public class Divisao implements InterfaceCalc
{

@Override
public double calcular(double a, double b)
{
    
    return a/b;
    
}

}

public class Controle
{
public static void main(String[] args)
{
// leirura dos numeros
double numero1 = Double.parseDouble(JOptionPane.showInputDialog(“Insira o primeiro numero:”));

    double numero2 = Double.parseDouble(JOptionPane.showInputDialog("Insira o seugundo numero:"));
    
    Soma soma = new Soma();
    
   JOptionPane.showMessageDialog(null,"A soma:"+soma.calcular(numero1, numero2));
   
    Subtracao sub = new Subtracao();
    
    JOptionPane.showMessageDialog(null,"Subtracao:"+sub.calcular(numero1, numero2));
    
    Produto mult = new Produto();
    
    JOptionPane.showMessageDialog(null,"Multilicacao:"+mult.calcular(numero1, numero2));
    
    Divisao div = new Divisao();
    
    JOptionPane.showMessageDialog(null,"Divisao:"+div.calcular(numero1, numero2));
    
    
}

}

Espero ter ajudado!!

1 curtida

Muito obrigado pela ajuda Isaura! :slight_smile: Prazer em conhecê-la!

1 curtida

Não consegui executar o código, me ajuda por favor!
}

Eu não estou conseguindo executar, a classe controle!

Como você está fazendo pra executar?

Uma dica: quando vc diz que que não conseguiu fazer algo, a primeira coisa que vão te perguntar em seguida é o que/como exatamente vc tentou fazer e o que aconteceu (deu erro, apareceu alguma mensagem, etc). Então para ganhar tempo, já coloque essas informações logo de cara, em vez de só dizer que “não funcionou” :slight_smile:

Na classe controle, os códigos estão assim:

package calculadora;

import javax.swing.JOptionPane;

public class Controle
{
public static void main(String[] args)
{

double numero1 = Double.parseDouble(JOptionPane.showInputDialog(“Insira o primeiro numero:”));

double numero2 = Double.parseDouble(JOptionPane.showInputDialog(“Insira o seugundo numero:”));

Soma soma = new Soma(); |||||||| Nessa linha tem notificação: msg cannot find symbol, e 3 opções: 1- Importar para calculadora.Calculadora.Soma | 2º opção- Criar class “soma” no pacote calculadora (Pacotes de códigos fontes) | 2º opção- Criar class “soma” em calculadora.Controle

JOptionPane.showMessageDialog(null,“A soma:”+soma.calcular(numero1, numero2));

Subtracao sub = new Subtracao(); |||||||| Nessa linha tem notificação: msg cannot find symbol, e 3 opções: 1- Importar para calculadora.Calculadora.Subtracao | 2º opção- Criar class “subtracao” no pacote calculadora (Pacotes de códigos fontes) | 2º opção- Criar class “subtracao” em calculadora.Controle

JOptionPane.showMessageDialog(null,“Subtracao:”+sub.calcular(numero1, numero2));

Produto mult = new Produto() |||||||| Nessa linha tem notificação: msg cannot find symbol, e 3 opções: 1- Importar para calculadora.Calculadora.`Produto | 2º opção- Criar class “Produto” no pacote calculadora (Pacotes de códigos fontes) | 2º opção- Criar class “Produto” em calculadora.Controle

JOptionPane.showMessageDialog(null,“Multilicacao:”+mult.calcular(numero1, numero2));

Divisao div = new Divisao() |||||||| Nessa linha tem notificação: msg cannot find symbol, e 3 opções: 1- Importar para calculadora.Calculadora.Divisao | 2º opção- Criar class “Divisao” no pacote calculadora (Pacotes de códigos fontes) | 2º opção- Criar class “Divisao” em calculadora.Controle

JOptionPane.showMessageDialog(null,“Divisao:”+div.calcular(numero1, numero2));


}
}

Bom, só com esse código (e juntando com o restante que foi sugerido acima), funciona normal, veja: https://repl.it/repls/ApprehensiveIgnorantGenres#Main.java

Esse erro msg cannot find symbol geralmente aparece quando você tenta usar uma variável que não foi declarada, mas não parece ser o caso…

1 curtida

Como e em qual pacote estão suas classes Soma , Subtracao , Multiplicacao e Divisao?

Posta o código delas e não esqueça de formatar utilizando o botão '</>' do fórum:
forum

Estão em pacotes de código-fonte Java (Calculadora), na classe controle.

Estes são os códigos:

package calculadora;




import javax.swing.JOptionPane;



public class Controle
{
public static void main(String[] args)
{

double numero1 = Double.parseDouble(JOptionPane.showInputDialog("Insira o primeiro numero:"));

    double numero2 = Double.parseDouble(JOptionPane.showInputDialog("Insira o seugundo numero:"));
    
    Soma soma = new Soma();
    
   JOptionPane.showMessageDialog(null,"A soma:"+soma.calcular(numero1, numero2));
   
    Subtracao sub = new Subtracao();
    
    JOptionPane.showMessageDialog(null,"Subtracao:"+sub.calcular(numero1, numero2));
    
    Produto mult = new Produto();
    
    JOptionPane.showMessageDialog(null,"Multilicacao:"+mult.calcular(numero1, numero2));
    
    Divisao div = new Divisao();
    
    JOptionPane.showMessageDialog(null,"Divisao:"+div.calcular(numero1, numero2));
    
    
}
}

Isto não é o pacote, o pacote é o que está descrito depois da palavra reservada package.

Novamente você ignorou completamente a orientação de formatar o código fonte no fórum utilizando o botão </>. :frowning:
forum

Prezado, este é só o código fonte da classe Controle, você já havia postado antes.

Cadê os códigos fontes das classes Soma , Subtracao , Multiplicacao e Divisao?

Você não as criou?
Se não as criou, como espera que consiga criar objetos delas?
Por isso que o compilador te dá aviso de cannot find symbol, você não criou as classes. :expressionless:

1 curtida

Não entendi. Todas as classes (Soma, Produto, etc) estão no mesmo arquivo? Como está a estrutura de arquivos do seu projeto?

Cada arquivo .java só pode ter uma classe pública - e o nome desta classe deve ser o mesmo do arquivo. Então o seu projeto deve ter uma estrutura assim:

  • uma pasta chamada calculadora (é o mesmo nome do pacote, o que é usado em package calculadora no início de cada classe)
  • dentro desta pasta calculadora você coloca as classes:
    • Soma.java, contendo a classe Soma (e somente ela)
    • Produto.java, contendo a classe Produto
    • etc (o mesmo para Calculadora e InterfaceCalc, cada uma em seu próprio arquivo)

Se estiver assim, funciona, conforme link que já mandei anteriormente: https://repl.it/repls/ApprehensiveIgnorantGenres#Main.java

1 curtida

Disponha,prazer é todo meu Diego:wink:!!

1 curtida

As duas classes estão no mesmo pacote, package calculadora; se estiverem juntas não dará nenhum erro, caso o contrário deves importá-las, se estiverem em pacotes diferentes. O erro vem exatamente aonde?.

1 curtida

calculadora.zip (2,3,KB)

Basicamente isso,@diegoetep2019

1 curtida

Valeu pela ajuda galera! Mt obrigado!