Array dinamico

pessoal tenho dificuldades em vetores e arrays, o professor me passou um exercicio para mim implementar na programacao para dispositivos moveis, onde usa um choice que mostrar alguns candidatos para eleicao, neste aplicativo é feito a votacao, mas o execercico pede para cadastrar novos candidatos com a aplicacao rodando em tmepo de execucao, no caso teria que aumentar o tamanho do array por um botao de comando utilizando eventos.
Como faço para aumentar o tamanho deste array???

sendo que ja tenha alguns valores definidos dentro dele.

vc pode usar a classe Vector
ou então alocar um outro array, copiar os elementos antigos mais os novos elementos pra ele

se tiver dificuldade em escrever o código posta ae
flw, t+

Use um ArrayList. É uma lista acessada por indíces tb, só que não tem tamanho fixo. Vc adciona ou remove registros em preocupação.

Ao inves disso:

Use isto:

De uma lida sobre o assunto, se tiver dúvida só voltar aqui!

Abraços

[quote=pvrsouza]Use um ArrayList. É uma lista acessada por indíces tb, só que não tem tamanho fixo. Vc adciona ou remove registros em preocupação.

Ao inves disso:

Use isto:

De uma lida sobre o assunto, se tiver dúvida só voltar aqui!

Abraços

[/quote]

Pelo visto, ele está fazendo em J2ME, então esqueça ArrayList, use Vector como nosso amigo falou.

pvrsouza, ele mencionou que o trabalho é para dispositivos móveis, onde nao existe o ArrayList e nem os templates, por isso sugeri o Vector, mas o professor dele tb sabe disso e provavelmente ele quer q isso seja implementado com arrays nativos, usando realocação

flw, t+

OPs!

Verdade! Foi mal…
:oops:

To achando que eu preciso fazer um curso de leitura dinâmica para ler rápido e ENTENDER!! Rsrsrsrs

É uma boa então abrir o tópico na área de dispositivos móveis (apesar de que eu vivo comendo bola por lá também, igual ao pvr). Vou mover para lá, aí ajuda a mais gente não confundir. heheh

:0

Oi.

  1. Vá no seu post anterior
  2. Clique em editar;
  3. Coloque seu código entre tags code:
   seu código aqui

Note que na barra, logo acima de onde você edita o post, tem a opção code. Você pode só selecionar todo seu código e clicar ali. Assim ele fica colorido e formatado. Caso contrário, fica bastante difícil de lermos.

[quote=alexfe]pessoal este é o codigo: no caso seria, tem um botao Command para adicionar um novo candidato no choiceGroup , eu digitaria o nome do candidato em um TextField e acionaria o Command onde ele incluiria o novo candidato no vetor, mas estou sem noção de como fazer isto

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;


public class Exercicio6 extends MIDlet implements ItemStateListener, CommandListener{
        private Display display;
        private Form frm,frmAdd;
        private Command cmdTotal,cmdGravar,cmdSair,cmdAdd,cmdVoltar,cmdInserir;
        private ChoiceGroup choice;
        private TextField tfAdd;
        StringItem stringItem;


         String[] politicos = {"Juca","Mika","Orestes","Sepulveda","Nero"};//vetor com valores definidos
         int[] votos = {0,0,0,0,0};//vetor dos votos de cara politico

        public Exercicio6(){
            display = Display.getDisplay(this);
            frm = new Form("pesquisa politica");
            frmAdd = new Form("Adicionar Candidato");
            cmdTotal = new Command("Total", Command.SCREEN, 1);
            cmdGravar = new Command("Gravar", Command.SCREEN, 2);
            cmdSair = new Command("Sair", Command.EXIT, 1);
            cmdAdd = new Command("Adicionar", Command.SCREEN, 1);
            cmdInserir = new Command("Inserir Cand", Command.SCREEN, 1);
            cmdVoltar = new Command("Voltar", Command.SCREEN, 1);
            choice = new ChoiceGroup("Candidaos", ChoiceGroup.MULTIPLE, politicos, null);
            tfAdd = new TextField("Candidato:", null, 10, TextField.ANY);

            frm.append(choice);
            frm.addCommand(cmdGravar);
            frm.addCommand(cmdSair);
            frm.addCommand(cmdTotal);
            frm.addCommand(cmdAdd);
            frm.setCommandListener(this);
            frm.setItemStateListener(this);
            frmAdd.append(tfAdd);
            frmAdd.addCommand(cmdInserir);
            frmAdd.addCommand(cmdVoltar);
            frmAdd.setItemStateListener(this);
            frmAdd.setCommandListener(this);




        }

    public void startApp() {
        display.setCurrent(frm);
    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
        notifyDestroyed();
    }

    public void itemStateChanged(Item item) {

    }

    public void commandAction(Command c, Displayable d) {
        
        if(c == cmdGravar){
            gravarVotos();
        }
        if(c == cmdTotal){
            totalizar();
        }
        if(c == cmdSair){
            destroyApp(true);
            notifyDestroyed();
        }
        if(c == cmdAdd){
            display.setCurrent(frmAdd);

        }
        
        if(c == cmdVoltar){
            display.setCurrent(frm);
           // addCand(null);
        }

    }

    private void gravarVotos() {
        boolean[] selecionados = new boolean[choice.size()];
        choice.getSelectedFlags(selecionados);// retorna os item selecionados true
        for (int i = 0; i < selecionados.length; i++){

            if(selecionados[i] == true){
                votos[i]++;
            }
            choice.setSelectedIndex(i,false);
        }
    }

    private void totalizar() {
        String result = new String();
        
        for(int i = 0; i < politicos.length;i++){
            result += politicos[i]+":" + votos[i]+ "\n";
        }
        stringItem = new StringItem("Resultado", result);
        frm.set(0, stringItem);
        frm.addCommand(cmdSair);
        frm.removeCommand(cmdGravar);
        frm.removeCommand(cmdTotal);
    }

public void addCand(String cand){
    
}
}

Pq vc n usa um HashTable com os politicos e seus respectivos votos, e então faça um método auxiliar que carregue seu choice de acordo com os politicos do HashTable?

comecei a estudar aplicativos moveis na faculdade este ano apenas sou + ou - iniciante em java, vou pesuisar sobre o hasTable

Ótimo material…
http://java.sun.com/j2se/1.4.2/docs/api/java/util/Hashtable.html

Alguem tem uma solucao PLEASE :slight_smile:

Vc quer que a gnt faça pra vc?
Já passamos o caminho, é só seguir…