[ RESOLVIDO ] Captar valor int em JOptionPane

09/04/2009

Preciso captar do usuario um valor int em JOptionPane é possivel? pois preciso captar 3 dados int para efetuar algumas operações com os mesmos, ( logicamente impossiveis em String) Obrigado.

Virtualx

Respostas

09/04/2009

Ricardo Staroski

PAra converter um texto numérico em [b]int[/b], utilize o método estático [b]parseInt[/b] da classe [b]java.lang.Integer[/b]
Responder Citar

09/04/2009

Keyzero

Use Integer.parseInt(VARIÁVEL);
Responder Citar

09/04/2009

Virtualx

mesmo convertendo n compila, será algum erro na definição das variaveis? int port = 0; int ingl = 0; double media = 0; String portmsg = "Entre Com Sua Media de PORTUGUES:"; String inglmsg = "Entre Com Sua Media de INGLÊS:"; port = JOptionPane.showInputDialog(null,portmsg); ingl = JOptionPane.showInputDialog(null,inglmsg); Integer.parseInt(port); Integer.parseInt(ingl); media = port + ingl; System.out.println(media);
Responder Citar

09/04/2009

Carlos Heuberger

mesmo convertendo n compila, será algum erro na definição das variaveis? ...
Por favor use os tags [b][code[/b][b]][/b] e [b][/code[/b][b]][/b] em torno do seu código para facilitar a leitura. "n compila" porque? erro de compilacao? [b]qual?[/b] e qual linha? []]
Responder Citar

09/04/2009

Virtualx

Simu, desculpe pela má formatação da mensagem anterior.
        String port = "";
        String ingl = "";
        double media = 0.0;
              
                String portmsg = "Entre Com Sua Media de PORTUGUES:";
                String inglmsg = "Entre Com Sua Media de INGLÊS:";
           
       port = JOptionPane.showInputDialog(null, portmsg);
       ingl = JOptionPane.showInputDialog(null, inglmsg);
        
     Integer.parseInt(port); 
     Integer.parseInt(ingl);
        
       media = port + ingl; //não compila !
       
        // o erro indica que a operação não pode ser executada com string, media esta declarada como double
       
       media = media/2 ;
       
       JOptionPane.showMessageDialog(null, media);


A linha 14 media = port + ingl; "found : java.lang.String required: double" não compila pois solicita media em double , ja que foi declarada em double, esta sendo identificada como String , mesmo depois da conversão.
Responder Citar

09/04/2009

Carlos Heuberger

isso não tem nada a ver com GUI... já tentou ler a documentação do método parseInt? voce declarou a variavel "port" como sendo String, não tem como voce alterar essa declaração pelo programa. Voce tem que usar outra variavel, declarada como int para armazenar dados do tipo int.
String port;
int iPort;

port = "123";
iPort = Integer.parseInt(port);

media = iPort + ...
[]]
Responder Citar

09/04/2009

Virtualx

muito obrigado , duvida esclarecida
isso não tem nada a ver com GUI... já tentou ler a documentação do método parseInt? voce declarou a variavel "port" como sendo String, não tem como voce alterar essa declaração pelo programa. Voce tem que usar outra variavel, declarada como int para armazenar dados do tipo int.
String port;
int iPort;

port = "123";
iPort = Integer.parseInt(port);

media = iPort + ...
[]]
Responder Citar

22/08/2016

Gustavo Bernardo

Edit: Arrumando uns espaçamentos. Desculpa ressuscitar o tópico. Estou com o mesmo problema. Alguém pode me ajudar?
 
        String valorX = JOptionPane.showInputDialog(null, "Dada a equação x² = y", "Insira um valor para x");
        int conversor = Integer.parseInt(valorX);
        
        String valorY;
        int ivalorY;
        valorY = "123";
        
        ivalorY = Integer.parseInt(valorY);
        
        ivalorY = (valorX + valorX);
        
        //int conversor2 = Integer.parseInt(valorY);
                 
        JOptionPane.showMessageDialog(null, "O valor de y é " +valorY);
                        
        
        System.exit(0); 
Responder Citar

22/08/2016

Ricardo Staroski

String valorX = JOptionPane.showInputDialog( null, "Dada a equação x² = y", "Insira um valor para x" ) ;
int conversor = Integer.parseInt( valorX ) ;

String valorY ;
int ivalorY ;
valorY = "123" ;

ivalorY = Integer.parseInt( valorY ) ;

// valorX e valorY são String, você está concatenando as duas e tentando atribuir à uma variável int
ivalorY = ( valorX + valorX ) ;

// int conversor2 = Integer.parseInt( valorY ) ;

JOptionPane.showMessageDialog( null, "O valor de y é " + valorY ) ;

System.exit( 0 ) ;
Talvez assim fica mais fácil:
String texto = JOptionPane.showInputDialog( null, "Dada a equação x² = y, Insira um valor para x" ) ;

int x = Integer.parseInt( texto ) ;

int y = x * x ;


JOptionPane.showMessageDialog( null, "O valor de y é " + y ) ;

System.exit( 0 ) ;
Responder Citar