Criando agenda de contatos em java!

7 respostas
X

Olá pessoal!
Estou aqui, porque preciso de ajuda sou iniciante na linguagem Java e meu professor me pediu para fazer uma agenda de contatos, só que não estou conseguindo, não sei como devo fazer, então eu fiz um pouco e nao sei se esta certo. O exercicio deve ler todos os dados de uma pessoa e armazena-la, podendo depois, sem fechar o programa, pesquisá-los por ex: Digite o nome: Fulano sobrenome, data de nascimento, tel, etc. Para pesquisar posso obter somente o nome ou o telefone e por ai vai, mas se eu digitar Fulano na pesquisa ele deverá mostrar os dados do Fulano. Só que não estou conseguindo fazer e não tenho ideias de como fazer!! O código não está terminado e está com varios problemas.
Aqui está o que eu fiz:

[/quote]
public class Principal {
	public static void cont(String nomenclatura[]) {
		System.out.printf("Digite o nome: ");
		nomenclatura[0] = Keyboard.readString();
		System.out.printf("Digite o Sobrenome: ");
		nomenclatura[1] = Keyboard.readString();
		System.out.printf("Digite a data de nascimento: ");
		nomenclatura[2] = Keyboard.readString();
		System.out.printf("Digite o endereço: ");
		nomenclatura[3] = Keyboard.readString();
		System.out.printf("Digite o bairro: ");
		nomenclatura[4] = Keyboard.readString();
		System.out.printf("Digite o numero: ");
		nomenclatura[5] = Keyboard.readString();
		int numero = Integer.parseInt(nomenclatura[5]);
		System.out.printf("Digite o complemento: ");
		nomenclatura[6] = Keyboard.readString();
		System.out.printf("Digite o estado: ");
		nomenclatura[7] = Keyboard.readString();
		System.out.printf("Digite a cidade: ");
		nomenclatura[8] = Keyboard.readString();
		System.out.printf("Digite o CEP: ");
		nomenclatura[9] = Keyboard.readString();
		int cep = Integer.parseInt(nomenclatura[9]);
		System.out.printf("Digite o EMAIL: ");
		nomenclatura[10] = Keyboard.readString();
		System.out.printf("Digite o telefone celular: ");
		nomenclatura[11] = Keyboard.readString();
		int tel_cel = Integer.parseInt(nomenclatura[11]);
		System.out.printf("Digite o telefone residencial: ");
		nomenclatura[12] = Keyboard.readString();
		int tel_resi = Integer.parseInt(nomenclatura[12]);
		System.out.printf("Digite o telefone de trabalho: ");
		nomenclatura[13] = Keyboard.readString();
		int tel_trab = Integer.parseInt(nomenclatura[13]);
	}// fim void

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Contato contato;
		contato = new Contato();
		String nomenclatura[] = new String[14];
		int i;
		for (i = 0; i < 2; i++) {
			cont(nomenclatura);
		}
		if (i >= 2) {
			System.out.println("Deseja adicionar outro contato? S/N: ");
			char agenda = Keyboard.readChar();
			switch (agenda) {
			case 's':
				cont(nomenclatura);
				break;
			case 'n':
				System.out.println();
				break;
			default:
				System.out.println("Voce digitou errado");
				break;
			}// fim switch
		}// fim if
		System.out.println("O que voce deseja fazer: ");
		System.out.println("1 - Incluir Contato");
		System.out.println("2 - Pesquisar Contato");
		System.out.println("3 - Sair");
		System.out.printf("Opcao desejada: ");
		char opcao = Keyboard.readChar();
		switch (opcao) {
		case '1':
			cont(nomenclatura);
			break;
		case '2':
			System.out.println("Pesquisar por:");
			System.out.println("1 - Nome");
			System.out.println("2 - Sobrenome");
			System.out.println("3 - Cidade");
			System.out.println("4 - Telefone celular");
			System.out.println("5 - Telefone residencial");
			System.out.println("6 - Telefone de trabalho");
			System.out.printf("Opcao desejada: ");
			String pesq = Keyboard.readString();
			switch (pesq) {
			case "1":
				System.out.printf("Digite o nome: ");
				String nome = Keyboard.readString();
				if (nome.equals(nomenclatura[0])){
					System.out.println(nome);
				}
				break;
			}// fim switch
			break;
		case '3':
			System.out.println("Voce encerrou o programa!");
			break;
		default:
			System.out.println("Opcao invalida");
			break;
		}
		System.out.println(nomenclatura);

	}// fim main
}// fim class

Obrigado, aguardo respostas e a ajuda de vocês!!
Até mais!

7 Respostas

E

Você poderia usar uma lista para cadastrar os dados, isso tornaria facilitaria muitos as coisas.
Usando o conceito de orientação a objetos, você poderia criar uma classe só com o nome, sobrenome, endereco, telefone, etc…

Para criar uma lista você pode fazer assim:

List<Agenda> agendaContatos = new ArrayList<Agenda>();

em seguida poderia adicionar os dados na lista assim:

agendaContatos.add(Obejto do tipo Agenda);

O método de pesquisa pode ser feito assim:

agendaContatos.contains(O que deseja pesquisar);

ela irá retonar true caso exista, e false caso o contrário.

De uma olhada em Lists e Orientação a Objetos. Irá facilitar muito as coisas!

X

muuito Obrigado amigo! É que meu professor não mostrou e não ensinou nenhum desses comandos ai que você citou, olhei na internet vários tópicos de java com linguagem que eu desconheço e que o professor nao ensinou. Vou tentar fazer novamente. Então eu devo criar uma classe e colocar nela somente os dados do contato? Não é necessário usar um vetor ou algo assim?

lele_vader

A lista é como se fosse um vetor, porém ela não tem tamanho fixo.
Ela aumenta e diminui conforme você coloca ou retira
elementos dela.

Aconselho ler as apostilas de desenvolvimento orientado a objeto e a de algoritmos e estruturas de dados da caellum.

Irá te ajudar.

X

Obrigado!
Vocês poderiam me indicar tutoriais na internet? Se possível mandar o link. Obrigaado!

Ainda aguardo mais respostas!
Até mais!

lele_vader

Baixa de java e orientação a objetos e a de algoritmos e estrutura de dados

ViniGodoy

Por favor, evite dar destaque ao óbvio em seus títulos de tópico, como [Duvida], (Ajuuda), [Socorro] ou [Urgente]. Especialmente para soar como um apelo.

ViniGodoy

Por favor, evite dar destaque ao óbvio em seus títulos de tópico, como [Duvida], (Ajuuda), [Socorro] ou [Urgente]. Especialmente para soar como um apelo.

Criado 27 de setembro de 2012
Ultima resposta 27 de set. de 2012
Respostas 7
Participantes 4