Duvida como armazenar SortedMap apos ciclo

7 respostas
JVieira88

Alguem me pode ajudar aqui?

Estou desenvolvendo uma aplicaçao com ligaçao a base de dados.
Aqui esta uma parte do codigo:

public class exames_paciente_admin extends javax.swing.JFrame {

    /** Creates new form exames_paciente_admin */
    public exames_paciente_admin() {
        initComponents();
        acederbd ligar= new acederbd();
        ligar.connect("postgres", "1234" , "");
        String nome_paciente= Main.sel;
        nome_paciente_Label.setText(nome_paciente);
        String numbi=ligar.get_id_pessoa(nome_paciente);
        Main.exames=ligar.getExame(numbi);
        int nexames= ligar.getnumexame(Main.exames).getSize();
        ListModel mapa_exam=(ListModel) ligar.getnumexame(Main.exames);
        Main.map=null;
        int a=0;
        for (int x=1; x<= nexames; a+=x,x++){
            String [] exame= new String [nexames];
            String exa ="Exame"+" "+x;
            exame[a]=exa;
            String directoria= (String) mapa_exam.getElementAt(0);
            SortedMap<String,String> map = new TreeMap<String,String>();
            map.put(exame[a], directoria);
            Main.map.putAll(map);
        }
        System.out.println(Main.map);
no main tenho isto:
public static SortedMap<String, String> map;

eu queria que depois do ciclo, tivesse disponivel o SortedMap com todos os elementos criados no ciclo, mas o Main.map.putAll(map) não esta funcionando...

eu sou novo em java, não sei muito disto.... Alguem tem uma sugestao?

obrigado

7 Respostas

JVieira88

No fim do ciclo queria ficar com uma coisa do tipo:

<Exame 1, C:\etc>
<Exame 2, C:\outra_coisa>
<Exame 3, C:\asdqw…>

alguem tem ideia?

P

Ola,

Ha uma centena de coisas para melhorar na sua implementacao e design… mas olhando especificamente para
o problema em questao, voce esta instanciando um TreeMap a cada iteracao do laco for

SortedMap<String,String> map = new TreeMap<String,String>(); map.put(exame[a], directoria); Main.map.putAll(map);

O que voce precisa eh:

SortedMap<String,String> map = new TreeMap<String,String>(); for(...) { ... map.put(exame[a], directoria); } Main.map.putAll(map);

[ ]'s

JVieira88

schranko:
Ola,

Ha uma centena de coisas para melhorar na sua implementacao e design… mas olhando especificamente para
o problema em questao, voce esta instanciando um TreeMap a cada iteracao do laco for

SortedMap<String,String> map = new TreeMap<String,String>(); map.put(exame[a], directoria); Main.map.putAll(map);

O que voce precisa eh:

SortedMap<String,String> map = new TreeMap<String,String>(); for(...) { ... map.put(exame[a], directoria); } Main.map.putAll(map);

[ ]'s

Tentei fazer isso agora mas nao deu :confused:

apareceu este erro: Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException

meti para imprimir e nao deu nada…

Main.map.putAll(map); System.out.println(Main.map);

P

WTF???

Porque voce esta fazendo isso?

Main.map=null;

Sugestao: Use um debugger.

[ ]'s

JVieira88

schranko:
WTF???

Porque voce esta fazendo isso?

Main.map=null;

Sugestao: Use um debugger.

[ ]'s

se nao fizer isso, ele vai estar sempre a adicionar ao Main.map! Com isso eu quero que quando abra a janela, faça um “reset” a essa variavel :wink:

P

pochemu by vam ne izuchitʹ! :)))

P

Desculpe, minha namorada roubou o teclado e lhe mandou uma mensagem :slight_smile:

Mas no caso Main.map.putAll(map) ira disparar uma NullPointerException!
Eh isso mesmo que voce quer?

Fui.

[]'s

Criado 21 de dezembro de 2010
Ultima resposta 21 de dez. de 2010
Respostas 7
Participantes 2