Ir para conteúdo

Recommended Posts

Galera então é o seguinte, tenho um trabalho da faculdade para fazer porém ainda não entendo quase nada de java, to meio perdida no trabalho.

o trabalho propoe que eu faça uma agenda de contatos, onde eu possa armazenar contatos, excluir contatos, pesquisa-los, edita-los, tudo isso usando 

arquivos txt, porém não consigo de jeito nenhum sair da estaca 0, queria que você me orientasse melhor para que eu consiga flluir melhor os codigos.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo. Você não citou se usará interface gráfica, mas de qualquer forma isso não influenciará em nada. Lá vai:

 

Eu criar um objeto(chamado de Contato mesmo) para cada pessoa que seria um contato e nele iria conter todas as informações(atributos com getters e setters) que foram pedidas pelo professor, como por exemplo: Nome, número, e-mail e etc...

Vamos para pratica:

 

Objeto Contato:


public class Contato {

	private String nome;
	private String email;
	private int numero;
	
	public Contato() {
		//construtor, caso queira fazer alguma coisa, como por exemplo definir os valores dos atributos diretamente aqui, ao invés de criar setters e chama-los ao criar o objeto.
	}
	
	public String getNome() {
		return nome;
	}
	
	public void setNome(String nome) {
		this.nome = nome;
	}
	
	public String getEmail() {
		return email;
	}
	
	public void setEmail(String email) {
		this.email = email;
	}
	
	public int getNumero() {
		return numero;
	}
	
	public void setNumero(int numero) {
		this.numero = numero;
	}
	
}

Após isso, criaria também uma Manager para os contatos, e lá teria uma ArrayList com todos os contatos(ou seja, todos os objetos contatos) e os métodos para pesquisar, criar um novo, deletar e etc:

import java.util.ArrayList;

public class ContatoManager {
	
	private ArrayList<Contato> contatos = new ArrayList<>();
	
	/**
	 * Irá criar o contato e adiciona-lo na "database" que é a ArrayList
	 * @param nome = nome do contato
	 * @param email = e-mail do contato
	 * @param numero = número do contato
	 */
	public void criarContato(String nome, String email, int numero) {
		Contato contato = new Contato();
		contato.setNome(nome);
		contato.setEmail(email);
		contato.setNumero(numero);
		
		contatos.add(contato);
		//contato criado e adicionado na ArrayList
	}
	
	/**
	 * Irá pesquisar o contato através do nome, dá para fazer pelo e-mail e também pelo número.
	 * @param nome = nome do contato que será pesquisado
	 */
	public Contato pesqusiarContato(String nome) {
		for(Contato contato : contatos) {
			if(contato.getNome().equalsIgnoreCase(nome)) {
				return contato;
			}
		}
		return null;
	}
	
	/**
	 * Irá deletar o contato através do nome, dá para fazer pelo e-mail e também pelo número.
	 * @param nome = nome do contato que será deletado
	 */
	public void deletarContato(String nome) {
		Contato contatoDeletar = pesqusiarContato(nome);
		if(contatoDeletar != null) {
			contatos.remove(contatoDeletar);
			//deletou o contato
		}else {
			//contato não existe
		}
	}

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Ivana_Silva
      Olá a todos que estão lendo!
       
      Preciso de uma função PHP que filtre 2 padrões de campos a partir do caractere barra(|), preservando a linha.
       
      Em uma caixa de texto vou colar valores assim:
      0001|qwerty
      0002|091234
      0003|09164867
      0004|ab12312
      ...
      A caixa de texto:
      <form id="form" name="form" method="post" action=""> <textarea name="lista" type="text" id="lista" cols="48" rows="5" size="600" /></textarea> <br /> <br /> <button type="submit">Separar</button> </form> <?php ?> Quando eu clicar no botão Separar, preciso que o código filtre e mostre apenas as linhas que, após barra " | " possuam números inteiros de 6 e 8 dígitos(sem letras, símbolos ou pontos).
       
      Exemplo:
      Dados colados na caixa de texto:
      0001|qwerty
      0002|091234
      0003|09164867
      0004|ab12312
       
      Dados filtrados após clicar no botão Separar:
      0002|091234
      0003|09164867
       
      Filtrou apenas os campos que após a barra "|" possuem 6 e 8 dígitos(Nem mais nem menos), não é pra filtrar campos com letras ou números e letras, se tiver letra após a barra já descarta... É pra Filtrar e mostrar apenas as linhas que possuem 6 e 8 dígitos após a barra.
      Agradecida se alguém puder ajudar!
       
    • Por thiagofdiniz
      Estou fazendo um curso técnico e estou com uma duvida sobre um exercício que me foi passado com a seguinte pergunta:
      Elabore um algoritmo que leia dois números, some cinco ao de menor valor, compare os dois valores e mostre o maior.
       
      Mas no meu código, ele está somando e mostrando o de menor valor, e não o de menor
      Será que alguém pode me ajudar não estou conseguindo enxergar o erro.. 
      x=int(input('Digite um número e aperte ENTER')) y=int(input('Digite um número e aperte ENTER')) if x>y: y=y+5 if x>y: print(x) else: print(y) else: x<y x=x+5 if x<y: print(y) else: print(x)  
    • Por Fábio.info7
      Olá pessoal, estou precisando de uma grande ajuda, tenho duas tabelas no postgres, são elas: PESSOA e a outra é  ENDERECOS, elas estão relacionadas, oq acontece é que no php eu preciso recuperar o valor do id através da função nextval('nome_da_sequnce'), e não estou sabendo fazer, preciso recuperar o ultimo id e depois realizar o insert nas tabelas relacionadas, poderiam me dar um exemplo de como implementar isso? abaixo deixo o meu codigo php, acredito que esteja errado pois não esta gravando no banco.
       
      Minhas tabelas do banco: CREATE TABLE public.pessoa ( codigo_aluno integer NOT NULL DEFAULT nextval('pessoa_codigo_aluno_seq'::regclass), cpf character varying(11) COLLATE pg_catalog."default" NOT NULL, nome character varying(30) COLLATE pg_catalog."default" NOT NULL, sexo character varying(30) COLLATE pg_catalog."default" NOT NULL, nascimentodata date NOT NULL, email character varying(50) COLLATE pg_catalog."default" NOT NULL, endereco integer, CONSTRAINT pessoa_pkey PRIMARY KEY (codigo_aluno), CONSTRAINT pessoa_endereco_fkey FOREIGN KEY (endereco) REFERENCES public.enderecos (codigo_endereco) ) CREATE TABLE public.enderecos ( codigo_endereco integer NOT NULL DEFAULT nextval('enderecos_codigo_endereco_seq'::regclass), logradouro character varying(200) COLLATE pg_catalog."default" NOT NULL, bairro character varying(80) COLLATE pg_catalog."default" NOT NULL, cidade character varying(100) COLLATE pg_catalog."default" NOT NULL, uf character varying(2) COLLATE pg_catalog."default" NOT NULL, cep character varying(20) COLLATE pg_catalog."default" NOT NULL, CONSTRAINT enderecos_pkey PRIMARY KEY (codigo_endereco) ) ****** ABAIXO O PHP *************************************** <?php try { require_once "conexao.php"; $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); $sql = "select nextval('pessoa_codigo_aluno_seq')"; $seq = $conn->prepare($sql); $id = $seq->execute(); $id = $seq->fetchAll(PDO::FETCH_ASSOC); $sql = "insert into pessoa (cpf, nome, sexo, nascimentodata, email, endereco ) values (:cpf, :nome, :sexo, :nascimentodata, :email, :fk_endereco )"; $inserir = $conn->prepare($sql); $inserir->bindParam(":cpf", $dados["cpf"]); $inserir->bindParam(":nome", $dados["nome"]); $inserir->bindParam(":sexo", $dados["sexo"]); $inserir->bindParam(":nascimentodata", $dados["nascimentodata"]); $inserir->bindParam(":email", $dados["email"]); $inserir->bindParam(":fk_endereco", $id['codigo_endereco']); $inserir->execute(); // Gravando dados de endereço $sql_end = "insert into enderecos (codigo_endereco, logradouro, bairro, cidade, uf, cep, pessoa )values(:codigo_endereco, :logradouro,:bairro,:cidade,:uf,:cep, :pessoa)"; $end = $conn->prepare($sql_end); $end->bindParam(":codigo_endereco", $id['codigo_endereco']); $end->bindParam(":logradouro", $dados["logradouro"]); $end->bindParam(":bairro", $dados["bairro"]); $end->bindParam(":cidade", $dados["cidade"]); $end->bindParam(":uf", $dados["uf"]); $end->bindParam(":cep", $dados["cep"]); $end->execute(); echo "Dados gravados com sucesso!"; } catch (Exception $e) { echo "Mensagem: " . $e->getMessage() . "<br/>"; echo "Linha do Erro: " . $e->getLine() . "<br/>"; } PRECISO CONSEGUIR INSERIR OS DADOS NAS DUAS TABELAS INSERINDO OS IDS RECUPERADOS PELO NEXTVAL()
    • Por Caio Mekacheski
      Beleza galera, nesse meu primeiro post, quero compartilhar esse video onde inicio um tutorial básico pra aprender a programar em c++, só que de maneira prática. Um programa simples que eu escrevi pra fazer o cálculo da metragem cúbica de peças de madeira que eu beneficio aqui na minha pequena marcenaria. Um programa simples que me ajuda a executar uma tarefa tediosa, e que apresenta um conhecimento básico na programação em c++. Então resolvi fazer dele um tutorial prático para iniciantes. Nesse primeiro video eu apresento um esboço inicial pra entender o que o programa vai fazer. Conforme for desenvolvendo o programa, vou apresentando novos conceitos gradativamente. Espero que gostem. 
       
      https://www.youtube.com/watch?v=Obr8Jrp7LGQ
    • Por MateusOFCZ
      Olá, estou desenvolvendo um BOT utilizando java, javascript e node.js, gostaria de saber se tem como eu fazer um painel em java (arquivo executável) onde tem um campo de texto (Que é digitado um tema, exemplo "Brasil"), uma lista com 3 itens (Quem é, O que é e A história do(a), você iria selecionar, por exemplo no campo de texto você digitou "Brasil" e na lista você selecionaria "A história do(a)"...) como faço pra quando clicar no botão "Enviar" ele iria executar um comando em node.js adicionando as informações (Tema e Opção).

       


      Caso não tenha entendido posso tentar explicar de uma forma mais clara!
×

Informação importante

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