Urgente: Botão Porcentagem! Ajuda

2 respostas
R
Olá amigos do fórum estou com um problema e gostaria que vocês me ajudassem. Eu estava desenvolvendo uma calculadora em java, porém, não consigo fazer o botão de porcentagem funcionar. E Action Performed de todos os botões funcionam. Por exemplo, o do botão "+" eu fiz dessa forma:
op=bmais.getText();
        num=Double.parseDouble(tfvisor.getText());
        tfvisor.setText(null);
        lmostrar.setText(String.valueOf(num)+op);
        tfvisor.requestFocus();
Esse por sorte funcionou. No botão de "=" usei o seguinte código:
num2=Double.parseDouble(tfvisor.getText());
        if (op=="+"){
            mostrar=lmostrar.getText();
            lmostrar.setText(mostrar+String.valueOf(num2));
            tfvisor.setText(String.valueOf(num+num2));
        }
        if (op=="-"){
            mostrar=lmostrar.getText();
            lmostrar.setText(mostrar+String.valueOf(num2));
            tfvisor.setText(String.valueOf(num-num2));
        }
        if (op=="X"){
            mostrar=lmostrar.getText();
            lmostrar.setText(mostrar+String.valueOf(num2));
            tfvisor.setText(String.valueOf(num*num2));
        }
        if (op=="/"){
            mostrar=lmostrar.getText();
            lmostrar.setText(mostrar+String.valueOf(num2));
            tfvisor.setText(String.valueOf(num/num2));
        }tfvisor.requestFocus();
Aí tentei de tudo quanto foi jeito, mas o de porcentagem não funciona. Aí fiz dessa forma, que era pra funcionar mas não funciona, no ActionPerformed do porcentagem.
op=bporc.getText();
        num=Double.parseDouble(tfvisor.getText());
        tfvisor.setText(null);
        lmostrar.setText(String.valueOf(num)+op);
        tfvisor.requestFocus();
        
        if (op=="%"){
            mostrar=lmostrar.getText();
            lmostrar.setText(mostrar+String.valueOf(num2));
            tfvisor.setText(String.valueOf(num+(num2/100)));
        }
[b]Alguém tem uma solução para isso? Até mais

2 Respostas

T

Aham… Para strings, não use “==”, use “equals”. Você só pode usar “==” com strings se quiser comparar com null.

Exemplo:

if ("+".equals (op)) {
if (op == null) {
R

Valeu pela dica, apesar de que não era o que eu havia pedido.
Consegui, através de outro amigo, funcionar o botão porcentagem
Eis a linha de que eu precisava: ActionPerformed do botão Porcentagem

op=bporc.getText(); num2=Double.parseDouble(tfvisor.getText()); tfvisor.setText(null); double calc = num*(num2/100); tfvisor.setText(String.valueOf(calc));
Valeu

Criado 17 de abril de 2009
Ultima resposta 17 de abr. de 2009
Respostas 2
Participantes 2