Ir para conteúdo

POWERED BY:

  • ×   Você colou conteúdo com formatação.   Remover formatação

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

  • Conteúdo Similar

    • 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()); } } } }  

    • Por Laurofelipe
      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;
      }
×

Informação importante

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