Série da semana: Angular, API RESTful e Banco de Dados

Veja mais

[ RESOLVIDO ] Captar valor int em JOptionPane

09/04/2009

2

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.

Posts

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

09/04/2009

Keyzero

Use Integer.parseInt(VARIÁVEL);
Responder

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
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

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
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

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
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
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