Armazenar valores em um array ou object ou list

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

samuelM;

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

[code]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);

}
}[/code]

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

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.

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

[code]import javax.swing.;
import java.util.
;
public class TesteDialog{
public static void main(String args[]){
int opcao;
List lista = new ArrayList();
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());

}
}[/code]

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

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?

Deu certo muito obrigado pco.