Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Laurofelipe

[RESOLVIDO] Método que recebe uma string e devolve um ArrayList<arraylist>

Recommended Posts

Boa tarde.

Estou tentando criar um método para busca de pessoa (usuario) por nome.

Logo, deve receber como parâmetro o nome à procurar e devolver uma lista (return lista;) nula ou com elementos.

Estou recebendo como retorno o erro abaixo. 

[ERROR] 1
java.lang.ArrayIndexOutOfBoundsException: 1

Como não consigo ler o nome (System.out....) logo antes mesmo de declarar o ArrayList<Usuario>, devo entender que desta forma não é possível passar parâmetro para o método.

Tem como re-escrever este método? São duas questões fundamentais: Preciso passar um parâmetro, e devo receber um arraylist para ser tratado fora desta classe, em outro projeto. Deve ser consumido por uma aplicação android.

Se alguém puder dar-me uma luz, agradeço antecipadamente.

 

Lauro

 

public ArrayList<Usuario> usuario---ome(String nome) {
// nome de pesquisa, começando  ou que contenha, depende do contexto.
    ArrayList<Usuario> lista = new ArrayList<Usuario>();
     try {
         Connection conn = ConectaMySql.obtemConexao();
         String sqlConsulta = "SELECT * FROM usuario WHERE usuario_nome=?";

         PreparedStatement ppStm = conn.prepareStatement(sqlConsulta);
         ppStm.setString(1, "%"+ nome+"%");
           
         ResultSet rsUsuario = ppStm.executeQuery();

         while(rsUsuario.next()) {
             Usuario user = new Usuario();
             user.setId(rsUsuario.getInt(1));
             user.setNome(rsUsuario.getString(2));
             ser.setNomeLogin(rsUsuario.getString(3));
             user.setSenha(rsUsuario.getString(4));
             user.setCodigoAcesso(rsUsuario.getString(5));

             lista.add(user);
         }
         conn.close();
     } catch (Exception e){
         e.printStackTrace();
     }
     return lista;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por paulinhosupriano
      import java.util.HashSet; import java.util.ArrayList; import java.util.Collection; public class TestarPperformance { public static void main(String[] args) { System.out.println("Iniciando..."); long inicio = System.currentTimeMillis(); //Collection<Integer> teste = new ArrayList<>(); Collection<Integer> teste = new HashSet<>(); int total = 30000; //int total = 50000; //int total = 100000; //int total = 150000; //int total = 200000; for(int i=0; i< total; i++) { teste.add(i); } for(int i=0; i <total; i++) { teste.contains(i); } long fim = System.currentTimeMillis(); long tempo = fim-inicio; System.out.println("Tempo gasto:" + tempo); } }  
    • Por gustavo.abarroso
      Estou tentando criar uma lista genérica de clientes, onde posso adicionar pessoasFisicas e pessoasJuridicas.
       
      Dentro da classe clientes possuo os atributos nome, lista de endereços e limite de crédito.
      A classe pessoaFisica herda de cliente os atributos acima citados além de possuir o atributo cpf.
      A classe pessoaJuridica herda de cliente seus atributos e possui também, nomeFantasia e cnpj.
       
      O problema que está acontecendo é o seguinte: na hora que cadastro mais de uma pessoa física por exemplo e puxar o relatório, me vem a lista de endereços inteira (conforme foto em anexo) ao invés de vim a lista da pessoa de cada posição do ArrayList de clientes. Como resolvo isso?
       
      public void cadastrar() { int op, resp; System.out.println("\n==[Cadastro de clientes]=="); System.out.println("Digite 1 para cadastrar pessoa fisica."); System.out.println("Digite 2 para cadastrar pessoa juridica."); System.out.print("=> "); op = input.nextInt(); switch (op) { case 1: System.out.println("\n==[Pessoa fisica]=="); System.out.print("Informe o nome: "); nome = inputs.nextLine(); do { listaEndFisica.add(retornaUmEndereco()); System.out.println("Continuar cadastrando endereços? 1-Sim/0-Não"); resp = input.nextInt(); } while (resp != 0); System.out.print("Informe o limite de crédito: "); limiteCredito = input.nextDouble(); System.out.print("informe o cpf: "); cpf = inputs.nextLine(); PessoaFisica pessoaFisica = new PessoaFisica(nome, listaEndFisica, limiteCredito, cpf); listaCliente.add(pessoaFisica); System.out.println("\nPessoa fisica adicionado com sucesso! "); break; case 2: System.out.println("\n==[Pessoa Juridica]=="); System.out.print("Informe o nome: "); nome = inputs.nextLine(); do { listaEndJuridica.add(retornaUmEndereco()); System.out.println("Continuar cadastrando endereços? 1-Sim/0-Não"); resp = input.nextInt(); } while (resp != 0); System.out.print("Informe o limite de crédito: "); limiteCredito = input.nextDouble(); System.out.print("Informe o nome fantasia: "); nomeFantasia = inputs.nextLine(); System.out.print("Informe o cnpj: "); cnpj = inputs.nextLine(); PessoaJuridica pessoaJuridica = new PessoaJuridica(nome, listaEndJuridica, limiteCredito, nomeFantasia, cnpj); listaCliente.add(pessoaJuridica); System.out.println("\nPessoa juridica adicionado com sucesso! "); break; default: System.out.println("opção inválida! "); } } public void relatorio() { if (listaCliente.isEmpty()) { System.out.println("Não existem clientes cadastrados! "); } else { for (Cliente c : listaCliente) { if (c instanceof PessoaFisica) { System.out.println("\n-=[Pessoas Fisicas]=-"); System.out.println("Nome: " + c.getNome()); System.out.println("-=[Endereço(s) Associado(s)]<-"); for (Endereco end : listaEndFisica) { System.out.println("Logradouro: " + end.getLogradouro()); } System.out.println("Limite de crédito: " + c.getLimiteDeCredito()); System.out.println("Cpf: " + ((PessoaFisica) c).getCpf()); } else if (c instanceof PessoaJuridica) { System.out.println("\n-=[Pessoas Juridicas]=-"); System.out.println("Nome: " + c.getNome()); System.out.println("-=[Endereço(s) Associado(s)]<-"); for (Endereco end : listaEndJuridica) { end.getLogradouro(); System.out.println("Logradouro: " + end.getLogradouro()); } System.out.println("Limite de crédito: " + c.getLimiteDeCredito()); System.out.println("Nome fantasia: " + ((PessoaJuridica) c).getNomeFantasia()); System.out.println("Cnpj: " + ((PessoaJuridica) c).getCnpj()); } } } }  

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.