Ajuda para melhorar o script

Oi galera
estou com um problema com um programa
o programa roda e tudo, mas da muito trabalho pra fazer todos os “if”
cada um com uma estrutura, ainda mais quando de trata de um vetor de 50 unidades
então no caso seriam 80 if/else \o/
ja tentei de varias formas e a unica que funcionou da form que eu precisava foi a seguinte:

if (c1.i==0){ JOptionPane.showMessageDialog(null,"Nenhum produto no carrinho."); } else if(c1.i==1){ String frase=String.format("Produtos no carrinho: " +c1.produtos[0]); JOptionPane.showMessageDialog(null, frase); } else if(c1.i==2){ String frase=String.format("Produtos no carrinho: \n" +c1.produtos[0]+ "\n" +c1.produtos[1]); JOptionPane.showMessageDialog(null, frase); } else if(c1.i==3){ String frase=String.format("Produtos no carrinho: \n" +c1.produtos[0]+ "\n" +c1.produtos[1]+ "\n"+c1.produtos[2]); JOptionPane.showMessageDialog(null, frase); }

a variavel “i” é um contador que muda de acordo com outras açoes que sao feitas em outra parte do programa
entao pra cada valor de “i”(com i entre 0 e 80) eu uso um if
alguem consegue pensar em uma forma mais elegante de fazer a mesma funçao?

desde ja agradeço
abraços

Acho mais fáçil voce usar um ArrayList e a cada ação adicionar um item a esse List e na hora de mostarar percorrer a listar contacenando as Strings e mostrar ao usuario.

StringBuilder produtos = new StringBuilder();
if (c1.produtos.length() != 0) {
    produtos.append("Produtos no carrinho:\n");
    for (int i = 0; i < c1.produtos.length(); i++) {
        produtos.append(c1.produtos[i]).append("\n");
    }
} else {
    produtos.append("Nenhum produto no carrinho");
}

JOptionPane.showMessageDialog(null, produtos.toString());

[quote=thiago.correa][code]
StringBuilder produtos = new StringBuilder();
if (c1.produtos.length() != 0) {
for (int i = 0; i < c1.produtos.length(); i++) {
produtos.append(c1.produtos[i]).append("\n");
}
} else {
produtos.append(“Nenhum produto no carrinho”);
}

JOptionPane.showMessageDialog(null, produtos.toString());
[/code][/quote]

O unico problema desse esquema é que se o array for de 5 posições e apenas as 3 primeiras tiverem itens o resultado seria algo assim

1° Item
2° Item
3° Item
null
null

poxa eu nao sei fazer um arraylist
nunca ouvi falar disso, mas creio que seja uma lista que mostra vetores, é isso?
bom… preciso descobrir como usar

achei uma otima soluçao, parece ser agradavel
obrigado

ps: aceito mais opniões.

http://www.guj.com.br/posts/list/71926.java

Veja os posts do ViniGodoy que já da pra entender como usar.

[quote=Mark_Ameba][quote=thiago.correa][code]
StringBuilder produtos = new StringBuilder();
if (c1.produtos.length() != 0) {
for (int i = 0; i < c1.produtos.length(); i++) {
produtos.append(c1.produtos[i]).append("\n");
}
} else {
produtos.append(“Nenhum produto no carrinho”);
}

JOptionPane.showMessageDialog(null, produtos.toString());
[/code][/quote]

O unico problema desse esquema é que se o array for de 5 posições e apenas as 3 primeiras tiverem itens o resultado seria algo assim

1° Item 2° Item 3° Item null null [/quote]

Eu sei, mas a idéia era mostrar o uso do for, não vou parar de trabalhar para poder resolver o problema do cara e dar o algoritmo certinho, além do mais ele teria que correr atrás disso né! :wink:

obrigado pelo script

vou testar
:wink:

bom…
eu não conheço alguns desses comandos
e gostaria de entender realmente o script
entao gostaria de saber de vcs se possivel qual a finalidade de lenght() e append()

valeu pela ajuda