JOptionPane

13 respostas
D

Galera, eu queria que o JOptionPane mostrasse o resultado da soma (e das outras funções), mas o NetBeans esta acusando erro quando eu coloco para o JOption Imprimir (dentro do case 1). Algém ai sabe o que está acontecendo ?

Código:

import java.util.*;
import javax.swing.JOptionPane;

public class Operações {
    public static void main(String[] args) {
        Scanner input = new Scanner (System.in);
        
        //cabeçalho();
        int resposta = Integer.parseInt(JOptionPane.showInputDialog("Digite o que deseja fazer :"
                + "\n1 - Adição"
                + "\n2 - Subtração"
                + "\n3 - Multiplicação"
                + "\n4 - Divisão"
                + "\n5 - Potênciação"));
        int v1 = Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro valor:"));
        int v2 = Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo valor:"));

        
        switch(resposta){
            case 1 :
                somar() = Integer.toString(JOptionPane.showMessageDialog(somar(v1,v2)));
            break;
            case 2 :
                
            break;
            case 3 :
            
            break;    
            case 4 :
                
            break;
            case 5 :
                
            break;
            default:
            
            break;
        }
    }
    
    public static int somar (int nr1, int nr2){
        return  nr1 + nr2;
    }
    public static int subtrair (int nr1, int nr2){
        return  nr1 - nr2;
    }
    public static int multiplicar (int nr1, int nr2){
        return  nr1 * nr2;
    }
    public static int dividir (int nr1, int nr2){
        return  nr1 / nr2;
    }
    public static int potencia (int nr1, int nr2){
        return  nr1 ^ nr2;
    }
}

13 Respostas

A

Tenta retornar o resultado como String

T

Basta Imprimir o mestodo dentro do JOptionpane.showMensassageDialog:

testei aqui funcionou
`public class TestGUJ {

public static void main(String[] args) {
        Scanner input = new Scanner (System.in);
        
        //cabeçalho();
        int resposta = Integer.parseInt(JOptionPane.showInputDialog("Digite o que deseja fazer :"
                + "\n1 - Adição"
                + "\n2 - Subtração"
                + "\n3 - Multiplicação"
                + "\n4 - Divisão"
                + "\n5 - Potênciação"));
        int v1 = Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro valor:"));
        int v2 = Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo valor:"));

        
        switch(resposta){
            case 1 :
                JOptionPane.showMessageDialog(null, somar(v1, v2));
                
            break;
            case 2 :
                
            break;
            case 3 :
            
            break;    
            case 4 :
                
            break;
            case 5 :
                
            break;
            default:
            
            break;
        }
    }
    
    public static int somar (int nr1, int nr2){
        return  nr1 + nr2;
    }
    public static int subtrair (int nr1, int nr2){
        return  nr1 - nr2;
    }
    public static int multiplicar (int nr1, int nr2){
        return  nr1 * nr2;
    }
    public static int dividir (int nr1, int nr2){
        return  nr1 / nr2;
    }
    public static int potencia (int nr1, int nr2){
        return  nr1 ^ nr2;
    }

}`

D

Vlw mesmo cara !! Tinha me esquecido de mexer com JOption !!! kkk

D
Aproveitando a oportunidade, poderia me ajudar de novo ? É  o seguinte :

O Netbenas tbm está acusando erro nessa linha, acredito que seja alguma posição que eu tenha colocado errado, porém não consigo identificar !! kkk (Eu já coloquei o do{” lá no começo do método main)

String repetir = JOptionPane.showMessageDialog(null, Deseja fazer outra conta ?”);

}while(repetir.equals(Sim)||repetir.equals(sim));
I

showMessageDialog é void, porque você atribui ele a uma String ?

String repetir = JOptionPane.showInputDialog(“Digite alguma coisa”).toLowerCase();
if(“sim”.equals(repetir)){
faz alguma coisa
}

Acho que voce quer isso

D

porque eu quero repetir o mesmo programa quantas vezes forem solicitadas… como posso fazer isso ?

D

Dá para fazer essa mesma coisa com o do…while né ?

D

Agora na primeira linha foi normal, porém nessa linha:
}while(repetir.equals(“Sim”)||repetir.equals(“sim”));

ta dando erro nas duas variáveis repetir (ta falando “cannot find symbol”), com ou sem o .toLowerCase();

I

Cara eu coloquei esse método pra não verificar duas vezes sem necessidade.
Posta a classe inteirra, e dentro da tag code

T

`
public static void main(String[] args) {

Scanner input = new Scanner (<a href="http://System.in">System.in</a>);

boolean continua = true; //variavel so vai entra no while se o usuario digita sim

do{
int resposta = Integer.parseInt(JOptionPane.showInputDialog("Digite o que deseja fazer :"
                + "\n1 - Adição"
                + "\n2 - Subtração"
                + "\n3 - Multiplicação"
                + "\n4 - Divisão"
                + "\n5 - Potênciação"));
        int v1 = Integer.parseInt(JOptionPane.showInputDialog("Digite o primeiro valor:"));
        int v2 = Integer.parseInt(JOptionPane.showInputDialog("Digite o segundo valor:"));
        
        switch(resposta){
            case 1 :
                JOptionPane.showMessageDialog(null, somar(v1, v2));
                
            break;
            case 2 :
                JOptionPane.showMessageDialog(null, subtrair(v1, v2));

                
            break;
            case 3 :
            
            break;    
            case 4 :
                
            break;
            case 5 :
                
            break;
            default:
            
            break;
        }
        
        //se a resposta for sim ele continua se nao 
        String repeti= JOptionPane.showInputDialog( "Deseja calcula mais algo? SIM /NAO");
        if(repeti.equalsIgnoreCase("NAO")){
        	continua = false;
        }else{
        	continua = true;
        }
   

        }while(continua);
        	
    }`
T

}while(continua); essa chave é o fechamento do do…

D

Cara , VLW MESMO !!! tu é foda !

T

Que nada , disponha … Sou um eterno aprendiz.

Criado 11 de fevereiro de 2016
Ultima resposta 11 de fev. de 2016
Respostas 13
Participantes 4