Bom dia pessoal.
O professor ta pegando pesado com nós aqui, e não estou conseguindo evoluir em um código de calculadora de 35 botões.
O exercicio é este:
LEIA ATENTAMENTE AS INSTRUÇÕES:
Você deverá entregar uma calculadora virtual baseada na classe Calculadora.java,
import javax.swing.JFrame;
import java.awt.GridLayout;
import java.awt.Panel;
public class Calculadora extends JFrame {
private final GridLayout gridBotoes = new GridLayout(4,6,4,4);
private final GridLayout gridPainel = new GridLayout(2,1);
private final Panel visorPainel = new Panel();
private final Panel botoesPainel = new Panel();
public Calculadora()
{
super("Calculadora");
this.setLayout(gridPainel);
this.add(visorPainel);
this.add(botoesPainel);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(600,600);
this.setVisible(true);
}
public static void main(String[] args) {
Calculadora calculadora = new Calculadora();
}
}
//
A calculadora terá 35 teclas, dispostas em 5 linhas e 7 colunas.
A maioria das operações matemáticas pode ser executada com a class Math: Math (Java Platform SE 8 )
Verifique como funciona a calculadora de exemplo (calculadora - Google Search) para reproduzir a programação.
Significado das teclas especiais:
- AC: esta tecla deve limpar o visor.
- Ans: esta tecla deve guardar o valor do visor na memória se pressionada após um número ser digitado. se for acionada após um operador ser teclado (como +, -, etc), deve recuperar o valor armazenado.
- EXP: esta tecla deve multiplicar o primeiro operando por 10 elevado a potência do segundo operando. Por exemplo, se o usuário digitar 2E2 e igual, a calculadora deve calcular 2 x 10^2 = 2 x 100 = 200.
- log: calcula o logaritmo (o expoente) de uma potência na base 10. Por exemplo, log de 100 é igual a 2. O usuário tem que clicar em log, digitar o número e apertar igual.
- A tecla Rad deve ser substituída por ? e deve abrir uma caixa de mensagem exibindo o nome do aluno.
- ln: calcula o logaritmo (o expoente) de uma potência na base e. Por exemplo, ln de 7.38905609893 é igual a 2. O usuário tem que clicar em ln, digitar o número e apertar igual.
- A tecla Deg deve ser substituída por BIN e deve abrir uma caixa de mensagem exibindo o número do visor em binário. Você pode converter um número inteiro em binário usando o método toBinaryString:
- A tecla Inv deve ser substituída por HEX e deve abrir uma caixa de mensagem exibindo o número do visor em hexadecimal. Você pode converter um número inteiro em binário usando o método math
O que será avaliado:
-
A classe compila (3)
-
A classe executa (3)
-
As operações são executadas corretamente (4)
Alguém consegue me ajudar a evoluir este código por favor?