Aliemtando variaveis recebidas de um array list

5 respostas
D

Pessoal, acredito ser simples minha duvida.

tenho uma funcao que esta tudo ok
public static ArrayList<Valoresanteriores> pegarValoresAnteriores(int codprod){


		Conexao conect = new Conexao();
		conect.ConexaoBD();

		//DECLARA ARRAY	
		ArrayList <Valoresanteriores> cli = new ArrayList<Valoresanteriores>();
			  
			  try {
	              Statement status = conect.conexao.createStatement ();
	              ResultSet resultado = status.executeQuery ( "select * from cad_prod where codigo="+codprod );
	             
	              
	              while ( resultado.next () ) {
	            	            	  
	            	 
	            	  
	            	 //if (nome.equals((resultado.getString ( "nome" ))))  { 
	            	  
	            	  Valoresanteriores vet = new Valoresanteriores();
	            	    
	                  vet.qtde=( resultado.getString ( "qtde" ) ); 
	                  vet.compra=( resultado.getString ( "vl_compra" ) );
	                  vet.atacado=( resultado.getString ( "vl_atacado" ) );
	                  vet.varejo=( resultado.getString ( "vl_varejo" ) );
	                 
	                                
	                  cli.add(vet);
	            	 
	    
	              }
	      } catch ( SQLException ex ) {
	    	  
	    	  
	              System.out.println ( ex );
	      }
			
	      return (ArrayList<Valoresanteriores>) cli;
	     
	}

E tenho a segunda, so que nessa segunda, gostaria de estar alimentando as variaveis qtde, atacado,compra e varejo.

+- assim

qtde=valoresanteriores.qtde

Segue a segunda classe
public static void main(String[] args) {
	String qtde,compra,atacado,varejo;
	ArrayList valoresanteriores;
	
	valoresanteriores=pegarValoresAnteriores(10);
	System.out.print(valoresanteriores);
	

	
}

5 Respostas

eros.stein

Não está conseguindo fazer assim?

ArrayList<Valoresanteriores> array = pegarValoresAnteriores(10); 
array.get(0).qtde = 2;
Jesuino_Master

Olá!

valoresanteriores é uma list, vc deve iterar ela e imprimir os valores, fazendo o caminho invertendo do que foi feito no método pegarValoresAnteriores.

Mais ou menos assim:

for (ValoresAnteriores val : valoresanteriores){
     System.out.println(val.varejo);
//.....
}

dica de leitura:

http://leepoint.net/notes-java/flow/loops/foreach.html

Sugestões:

  • Use get e Set para acessar os atributos;
  • na sua classe de conexão, não se esqueça de fechar ela usando um finally no seu try catch!
  • Evite métodos estáticos em projetos reais (exceto em alguns casos específicos)!

[]'s

D

Nao. eu precisava pega o campo do array qtde e alimentar minha variavel local qtde

eros.stein

Então… é só fazer como te falei…

qtdeLocal = seuArrayList.get(posicao).qtde;

verifica se qtde na sua classe ValoresAnteriores é public.

Mas o ideal mesmo seria você fazer os métodos get/set (encapsulamento)

na sua classe ValoresAnteriores teria o método getQtde() que retornaria qtde e pra acessar pelo arraylist era só fazer assim:

qtdeLocal = seuArrayList.get(posicao).getQtde();
D

So para deixar registrado pessoal, resolvi assim.

String qtdeA= null,compraA= null,atacadoA= null,varejoA = null,saldoA = null;
		ArrayList<Valoresanteriores> valoresanteriores;
		
		valoresanteriores=pegarValoresAnteriores(codprod);
		
		
		
		varejoA=(((Valoresanteriores) valoresanteriores.get(0)).getVarejo());
		qtdeA=(((Valoresanteriores) valoresanteriores.get(0)).getQtde());
		atacadoA=(((Valoresanteriores) valoresanteriores.get(0)).getAtacado());
		compraA=(((Valoresanteriores) valoresanteriores.get(0)).getCompra());
Criado 10 de fevereiro de 2011
Ultima resposta 10 de fev. de 2011
Respostas 5
Participantes 3