Armazenar valores em um array ou object ou list

7 respostas
S

Ola pessoal tenho um

String valor = JOptionPane.showInputDialog(null, "Digite o valor: ");

que armazena o valor que digitei, agora estou implementando o seguinte

Object[] botoes = {"Sim", "Não"};
            int resposta = JOptionPane.showOptionDialog(null,
                    "Deseja inserir mais um valor na celula?",
                    "Confirmação", // o título da janela  
                    JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null,
                    botoes, botoes[0]);
            if (resposta == 0) {
                
            } else if (resposta == 1) {
                
            }

que no caso pergunta quando acabar de inserir o primeiro valor ele receba o segundo valor e armazene tambem mas como fazer isso? armazenar um valor na string eu consigo mas como ir armazenando cada vezes que clicar em SIM ele ir pegando o valor e ir jogando na variavel array?

vlw

7 Respostas

al.barbosa

samuelM;

Pode fazer um loop com do/while. Veja o exemplo:

import javax.swing.*;
public class TesteDialog{
   public static void main(String args[]){
      int opcao;
      do{
         String valor = JOptionPane.showInputDialog(null, "Digite o valor: ");  
         if(valor==null){
            break;
         }

         //coloque o código para inserir na lista
         System.out.println("inserir "+valor); 

         Object[] botoes = {"Sim", "Não"};   
         opcao = JOptionPane.showOptionDialog(null,   
                 "Deseja inserir mais um valor na celula?",   
                 "Confirmação", // o título da janela     
                 JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null,   
                 botoes, botoes[0]);
      }while(opcao==0);
   }
}
S

Mas em que lugar ele unifica os valores que digitei ? e retorna todos valores?

S

fiz assim

do {
            String valor = JOptionPane.showInputDialog(null, "Digite o valor: ");
            if (valor == null) {
                break;
            }

            Object[] botoes = {"Sim", "Não"};
            opcao = JOptionPane.showOptionDialog(null,
                    "Deseja inserir mais um valor na celula?",
                    "Confirmação", // o título da janela       
                    JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null,
                    botoes, botoes[0]);
            List<String> lista = new ArrayList<String>();
            lista.add(valor);

            
        } while (opcao == 0);

Porem precisava criar uma variável com todas as strings capturadas.

al.barbosa

Implementei o exemplo armazenando os valores em um ArrayList. No final ele imprime todos os valores.

import javax.swing.*;
import java.util.*;
public class TesteDialog{
   public static void main(String args[]){
      int opcao;
      List<String> lista = new ArrayList<String>();
      do{
         String valor = JOptionPane.showInputDialog(null, "Digite o valor: ");  
         if(valor==null){
            break;
         }

         lista.add(valor);

         Object[] botoes = {"Sim", "Não"};   
         opcao = JOptionPane.showOptionDialog(null,   
                 "Deseja inserir mais um valor na celula?",   
                 "Confirmação", // o título da janela     
                 JOptionPane.DEFAULT_OPTION, JOptionPane.QUESTION_MESSAGE, null,   
                 botoes, botoes[0]);
      }while(opcao==0);

      Iterator<String> i = lista.iterator();
      while(i.hasNext()) System.out.println(i.next());
   }
}
S

Amigao o que você fez tem sentido porém quase atendeu minha necessidade, ele ta fazendo o laco certinho porem precisava armazenar em uma String todos os valores registrados no showinputdialog, é possível isso?
Vlw por sua atencao

al.barbosa

Você quer dizer concatenar todos os valores em uma String?
Se for isso, basta declarar uma String no início, por exemplo:

String resultado = "";

e dentro do laço do/while, usar o método concat(), para concatenar com o valor digitado.

resultado = resultado.concat(valor);

É isso que você quer?
Se não for isso, qual a finalidade dos valores que você quer armazenar em uma String? É uma String mesmo ou uma variável Array? Mas variável Array de quê, de Strings?

S

Deu certo muito obrigado pco.

Criado 22 de maio de 2012
Ultima resposta 23 de mai. de 2012
Respostas 7
Participantes 2