Não tá dando certo! Colocar na posição vazia

5 respostas
C

Quero por a variavel codigo apenas nas posiçãoes q contenha a variável VAZIO, mas no else não sei como poderia ficar esse decremento do i não funciona mesmo, se alguém souber alguma maneira!

public void gerarCromossomo(String c) {
	    try{
    	limpar();
        dados =  c;
        StringTokenizer tokens = new StringTokenizer(dados, "\n");
        
        for(int i=0; i < 104; i++){
        for(int cont=0; cont<tokens.countTokens(); cont++){
        
        vetorDados[i] = tokens.nextToken();
        
        String codigo = vetorDados[i];
        
        int coluna = AGUtil.getRandomInt(25);
        String l = codigo.substring(0,1);
        String ln =codigo.substring(1,2);
        int cs = Integer.parseInt(l);
        int sem = Integer.parseInt(ln);
      
        if(l.equals("1")){
          int linha = sem - 1;	
          if(conteudo[linha][coluna].equals(VAZIO)){
             conteudo[linha][coluna] = codigo;}
          else{ System.out.println(l); i--;
        
        else if(l.equals("2")){
            int linha = 8 +(sem - 1);
            if(conteudo[linha][coluna].equals(VAZIO)){
            	 conteudo[linha][coluna] = codigo;}
            else{ System.out.println(l); i--;
        
       else if(l.equals("3")){
        int linha = 16 +(sem - 1);
           if(conteudo[linha][coluna].equals(VAZIO))
                 conteudo[linha][coluna] = codigo;
            else i --;
        }
        else if(l.equals("4")){
        int linha = 22 + (sem - 1);
           if(conteudo[linha][coluna].equals(VAZIO))
                 System.out.println(linha+"\t"+coluna);
                 conteudo[linha][coluna] = codigo;
            else i --;
        }
        else if(l.equals("5")){
        int linha = 24 + (sem - 1);
           if(conteudo[linha][coluna].equals(VAZIO))
                 conteudo[linha][coluna] = codigo;
            else i --;
        }
    	}}
        }
    	catch(Exception e){
    		e.printStackTrace();
    		System.exit(1);
    		JOptionPane.showMessageDialog( null,"Erro na Função geraCromossomo - " + e.getMessage(), "Erro", JOptionPane.INFORMATION_MESSAGE );     
    	}
    }

5 Respostas

rodrigoallemand

Não entendi direito o seu código, mas veja este detalhe… null != “”… Será que não é isso???
Tente usar o StringUtils.isBlank() que ele já checa se é diferente de null e diferente de “”…

Tente, tambem, debugar o seu código e ver onde está “falhando”…

C

a variavel VAZIO = “V”;

rodrigoallemand

Então só partindo para o debug…

C

Tem q ter um jeito!

rodrigoallemand

Mas DEBUG de código é o primeiro “jeito” que todo programador deve ter…
Tente acionar o modo DEBUG da sua IDE para isso… com isso vc pode inspecioar os códigos que estão passando e ver onde seu código está falhando… ou vc acha que o Java que está errado?!? :twisted: :twisted:

Criado 9 de novembro de 2007
Ultima resposta 9 de nov. de 2007
Respostas 5
Participantes 2