Buscar

EXERCICIO SIDNEY

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Faculdade Estácio
Lista de Exercícios em Java
Implemente um programa em Java que contenha as seguintes classes: 
Projeto 
Número ( obrigatório e >0 ) 
Titulo 
Coordenador 
Orçamento (> 0) 
lista_equipe (lista de objetos da classe pessoas) 
Pessoas 
CPF (deve ter seu número valido- procurar função na web) 
Nome 
salario > 0 
Em ambas as classes todos os atributos devem ser encapsulados (com exceção de “lista_equipe” na classe de PROJETO).
Na classe principal deve-se implementar um menu com as opções definidas a seguir para as duas classes: 
Inclusão 
Consulta 
Alteração 
Exclusão 
Listagem 
Os cadastros dos projetos e pessoas devem ser vinculados com ArrayLists e o cadastro de cada membro da equipe de projetos deve ser feito a partir de uma pessoa já cadastrada na lsiat de pessoas.
RESPOSTAS: LEMBRE-SE QUE AO TENTAR EXECUTAR, PONHA CADA CLASSE COM SEUS IMPORTS EM UM ARQUIVO INDEPENDENTE NO PROJETO JAVA
importjavax.swing.JOptionPane;
publicclass Pessoa {
	private String cpf;
	private String nome;
	privatedoublesalario;
	
	Pessoa(String c, String n, doubles)
	 {
		 String Saida = "";
		if(isValido(c))
		cpf = c;
		else
			Saida = "CPF Inválido!\n";
	if(s> 0)
		salario = s;
	else		
		Saida += "Salário Inválido!";
	if(!Saida.equals(""))
		 JOptionPane.showMessageDialog(null, Saida);
	nome = n; 
	}
	publicbooleanisValido(String cpfSemFormatacao) { 
	
	if (cpfSemFormatacao.length() != 11 || cpfSemFormatacao.equals("00000000000")
	 || cpfSemFormatacao.equals("99999999999")) {
	returnfalse;
	 }
	
	 String digitos = cpfSemFormatacao.substring(0, 9);;
	 String dvs = cpfSemFormatacao.substring(9, 11);
	
	 String dv1 = gerarDV(digitos);
	 String dv2 = gerarDV(digitos + dv1);
	
	returndvs.equals(dv1 + dv2);
	 }
	
	private String gerarDV(String digitos) {
	intpeso = digitos.length() + 1;
	intdv = 0;
	for (inti = 0; i<digitos.length(); i++) {
	dv += Integer.parseInt(digitos.substring(i, i + 1)) * peso;
	peso--;
	 }
	
	dv = 11 - (dv % 11);
	
	if (dv> 9) {
	return"0";
	 }
	
	returnString.valueOf(dv);
	 }
	publicdoublegetSalario()
	 {
	returnsalario;
	 }
	publicvoidsetSalario(doubles)
	 {
	if(s>0)
		salario = s;
		else
			JOptionPane.showMessageDialog(null, "SalárioInválido!");
	 }
	public String getNome()
	 {
	returnnome;
	 }
	publicvoidsetNome(String n)
	{
	if(!n.equals(""))
		nome = n;
		else
			JOptionPane.showMessageDialog(null, "Nome Inválido!");
	 }
	public String getCPF()
	 {
	returncpf;
	 }
	publicvoidsetCPF(String c)
	 {
	if(isValido(c))
		cpf = c; 	
		else
			JOptionPane.showMessageDialog(null, "CPF Inválido!");
	}
	public String RetornarConteudo()
	 {
		 String Saida = "\nNome da pessoa:"+nome;
	Saida += "\nSalário:"+salario;
	Saida += "\nCPF:"+cpf; 
returnSaida;
	 }
}
importjavax.swing.JOptionPane;
publicclass Pessoa {
	private String cpf;
	private String nome;
	privatedoublesalario;
	
	Pessoa(String c, String n, doubles)
	 {
		 String Saida = "";
		if(isValido(c))
		cpf = c;
		else
			Saida = "CPF Inválido!\n";
	if(s> 0)
		salario = s;
	else		
		Saida += "Salário Inválido!";
	if(!Saida.equals(""))
		 JOptionPane.showMessageDialog(null, Saida);
	nome = n; 
	}
	publicbooleanisValido(String cpfSemFormatacao) { 
	
	if (cpfSemFormatacao.length() != 11 || cpfSemFormatacao.equals("00000000000")
	 || cpfSemFormatacao.equals("99999999999")) {
	returnfalse;
	 }
	
	 String digitos = cpfSemFormatacao.substring(0, 9);;
	 String dvs = cpfSemFormatacao.substring(9, 11);
	
	 String dv1 = gerarDV(digitos);
	 String dv2 = gerarDV(digitos + dv1);
	
	returndvs.equals(dv1 + dv2);
	 }
	
	private String gerarDV(String digitos) {
	intpeso = digitos.length() + 1;
	intdv = 0;
	for (inti = 0; i<digitos.length(); i++) {
	dv += Integer.parseInt(digitos.substring(i, i + 1)) * peso;
	peso--;
	 }
	
	dv = 11 - (dv % 11);
	
	if (dv> 9) {
	return"0";
	 }
	
	returnString.valueOf(dv);
	 }
	publicdoublegetSalario()
	 {
	returnsalario;
	 }
	publicvoidsetSalario(doubles)
	 {
	if(s>0)
		salario = s;
		else
			JOptionPane.showMessageDialog(null, "SalárioInválido!");
	 }
	public String getNome()
	 {
	returnnome;
	 }
	publicvoidsetNome(String n)
	{
	if(!n.equals(""))
		nome = n;
		else
			JOptionPane.showMessageDialog(null, "Nome Inválido!");
	 }
	public String getCPF()
	 {
	returncpf;
	 }
	publicvoidsetCPF(String c)
	 {
	if(isValido(c))
		cpf = c; 	
		else
			JOptionPane.showMessageDialog(null, "CPF Inválido!");
	}
	public String RetornarConteudo()
	 {
		 String Saida = "\nNome da pessoa:"+nome;
	Saida += "\nSalário:"+salario;
	Saida += "\nCPF:"+cpf; 
returnSaida;
	 }
}
importjava.util.ArrayList;
importjavax.swing.JOptionPane;
publicclass Principal {
	publicstaticvoid main(String[] args) {		
ArrayList<Projeto>ListaProjetos = new ArrayList<Projeto>();
 ArrayList<Pessoa>ListaPessoas = new ArrayList<Pessoa>();
intop1=0, op2 = 0;
do{
op1 = Integer.parseInt(JOptionPane.showInputDialog("1-Projetos\n2-Pessoas\n3-Sair")); 
if(op1==1)
 { 
do{
	op2 = Integer.parseInt(JOptionPane.showInputDialog("1-Inclusão de Projetos\n2-Exclusão de Projetos"
		+ "\n3-Consulta de Projetos\n4-Alteração de Projetos\n5-Listagem de Projetos\n6-VOLTAR\n"));
	if(op2 == 1)
	 { 	
	intnumero = Integer.parseInt(JOptionPane.showInputDialog("Informe o número:"));
	 String titulo = JOptionPane.showInputDialog("Informe o Titulo:"); 
	 String coordenador = JOptionPane.showInputDialog("Informe o coordenador:");
	doubleorcamento = Double.parseDouble(JOptionPane.showInputDialog("Informe o orçamento:"));
	
	 Projeto P = new Projeto(numero, titulo, coordenador, orcamento);
	 String resp = "s";
	do{
		String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa da equipe:"); 
	intachei = 0;
	for(Pessoa p: ListaPessoas)
	{
	if(p.getCPF().equals(cpf))
	{
	 Pessoa Pes = new Pessoa(cpf, p.getNome(), p.getSalario());
	P.lista_equipe.add(Pes);
	achei = 1;
	break;
	 }
	 }
	if(achei == 0)
		JOptionPane.showMessageDialog(null, "Pessoa não encontrada!");
	else
		JOptionPane.showMessageDialog(null, "Pessoa cadastrada!");
	resp = JOptionPane.showInputDialog("Deseja cadastrar mais alguma pessoa(s/n)?");
	
	}while(resp.equals("s"));
	ListaProjetos.add(P);
	 }
	elseif(op2 == 2)
	{
		intnum = Integer.parseInt(JOptionPane.showInputDialog("Informe o numero do projeto a ser excluído:"));
	
	intachei = 0;
	for(Projeto p: ListaProjetos)
	 {
	if(p.getNumero() == num)
	 {
	ListaProjetos.remove(p);
	achei = 1;
	 JOptionPane.showMessageDialog(null, "Projeto excluido!");
	
	break; 
	 }	
	 }
	if(achei == 0)
	JOptionPane.showMessageDialog(null, "Projetonãoencontrado!"); 
	 }
	elseif(op2 == 3)
	{
		intnum = Integer.parseInt(JOptionPane.showInputDialog("Informe o numero do projeto a ser consultado:"));
	
	intachei = 0;
	for(Projeto p: ListaProjetos)
	 { 	
	if(p.getNumero() == num)
	 { 
	achei = 1;
	
	 JOptionPane.showMessageDialog(null, p.RetornarConteudo());
	break; 
	 } 
	 }
	if(achei== 0)
		JOptionPane.showMessageDialog(null, "Projeto não encontrado!"); 
	 }
	elseif(op2 == 4)
	 {
		intnum = Integer.parseInt(JOptionPane.showInputDialog("Informe o numero do projeto a ser alterado:"));
	
	intachei = 0;
	for(Projeto p: ListaProjetos)
	 { 	
	if(p.getNumero() == num)
	 { 
	achei = 1;
	 JOptionPane.showMessageDialog(null, "DADOS ATUAIS:\n\n" + p.RetornarConteudo());
	intnumero = Integer.parseInt(JOptionPane.showInputDialog("Informe o novo número:"));
	 String titulo = JOptionPane.showInputDialog("Informe o novo Titulo:"); 
	 String coordenador = JOptionPane.showInputDialog("Informe o novo coordenador:");
	doubleorcamento = Double.parseDouble(JOptionPane.showInputDialog("Informe o novo orçamento:"));
	
	p.setNumero(numero);
	p.setCoordenador(coordenador);
	p.setOrcamento(orcamento);
	p.setTitulo(titulo);
	
	 String resp = "s";
		do{
			String cpf = JOptionPane.showInputDialog("Informe o CPF da NOVA pessoa da equipe:"); 
		intachei2 = 0;
		for(Pessoa pes: ListaPessoas)
		{
		if(pes.getCPF().equals(cpf))
		{
		 Pessoa Pes = new Pessoa(cpf, pes.getNome(), pes.getSalario());
		p.lista_equipe.add(Pes);
		achei2 = 1;
		break;
		 }
		 }
		if(achei2 == 0)
			JOptionPane.showMessageDialog(null, "Pessoa não encontrada!");
		else
			JOptionPane.showMessageDialog(null, "Pessoa cadastrada!");
		resp = JOptionPane.showInputDialog("Deseja cadastrar mais alguma pessoa(s/n)?");
		
		 }while(resp.equals("s"));
		
	 JOptionPane.showMessageDialog(null, "Alterações realizadas (onde foi possível)!");
	break; 
	 }
	
	 }
	if(achei == 0)
		JOptionPane.showMessageDialog(null, "Projetonãoencontrado!"); 
	 }
	elseif(op2 == 5)
	{
		
	for(Projeto p: ListaProjetos)
	 { 	
	 JOptionPane.showMessageDialog(null, p.RetornarConteudo()); 
	} 
	 }
	elseif(op2 != 6)
	 {
		JOptionPane.showMessageDialog(null, "OpçãoInválida!"); 	
	 }
}while(op2 != 6);
 }
elseif(op1==2)
{ 
do{
	op2 = Integer.parseInt(JOptionPane.showInputDialog("1-Inclusão de Pessoas\n2-Exclusão de Pessoas"
		+ "\n3-Consulta de Pessoas\n4-Alteração de Pessoas\n5-Listagem de Pessoas\n6-VOLTAR\n"));
	if(op2 == 1)
	 { 		
	 String cpf = JOptionPane.showInputDialog("Informe o CPF:"); 
	 String nome = JOptionPane.showInputDialog("Informe o Nome:");
	doublesalario = Double.parseDouble(JOptionPane.showInputDialog("Informe o salário:"));
	
	Pessoa P = new Pessoa(cpf, nome, salario);	
	if(cpf != null)
		ListaPessoas.add(P);
	}
	elseif(op2 == 2)
	 {
		String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa a ser excluída:");
	
	intachei = 0;
	for(Pessoa p: ListaPessoas)
	{
	if(p.getCPF().equals(cpf))
	{
		ListaPessoas.remove(p);
	achei = 1;
	 JOptionPane.showMessageDialog(null, "Pessoa excluida!");
	break; 
	 }	
	 }
	if(achei == 0)
	JOptionPane.showMessageDialog(null, "Pessoa não encontrada!");
	 }
	elseif(op2 == 3)
	 {
		String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa a ser consultada:");
	
	intachei = 0;
	for(Pessoa p: ListaPessoas)
	{
	if(p.getCPF().equals(cpf))
	 { 
	achei = 1;
	
	JOptionPane.showMessageDialog(null, p.RetornarConteudo());
	break; 
	 } 
	 }
	if(achei == 0)
		JOptionPane.showMessageDialog(null, "Pessoa não encontrada!");
	 }
	elseif(op2 == 4)
	 {
		String cpf = JOptionPane.showInputDialog("Informe o CPF da pessoa a ser consultada:");
	
	intachei = 0;
	for(Pessoa p: ListaPessoas)
	{
	if(p.getCPF().equals(cpf))
	{ 
	achei = 1;
	 JOptionPane.showMessageDialog(null, "DADOS ATUAIS:\n\n" + p.RetornarConteudo());
	cpf = JOptionPane.showInputDialog("Informe o NOVO CPF:"); 
		 String nome = JOptionPane.showInputDialog("Informe o NOVO Nome:");
		doublesalario = Double.parseDouble(JOptionPane.showInputDialog("Informe o NOVO salário:"));
		
	p.setCPF(cpf);
	p.setNome(nome);
	p.setSalario(salario);
	
	 JOptionPane.showMessageDialog(null, "Alterações realizadas (onde foi possível)!");
	break; 
	 }
	
	 }
	if(achei == 0)
		JOptionPane.showMessageDialog(null, "Pessoa não encontrada!");
	 }
	elseif(op2 == 5)
	 {
		
		for(Pessoa p: ListaPessoas)
	 { 	
	 JOptionPane.showMessageDialog(null, p.RetornarConteudo()); 
	} 
	 }
	elseif(op2 != 6)
	 {
		JOptionPane.showMessageDialog(null, "OpçãoInválida!"); 	
	}
 }while(op2 != 6);
 }
 }while(op1 != 3);
	}
}
Informe (V) ou (F) 
() Um objeto é uma instancia de uma classe 
( ) Um atributo é uma característica que define a estrutura de uma funcionalidade de uma classe 
( ) Métodos são funcionalidades vinculadas aos atributos de objetos 
( ) Um construtor pode possuir parâmetros, define o comportamento funcional de um objeto no momento de sua instanciação e é identificado pelo nome do objeto 
( ) Arraylists permitem a manipulação de listas estáticas de objetos de uma dada classe, ou de elementos de tipos nativos 
( ) O mecanismo do “garbade collector” garante que objetos instanciados e que estejam inacessíveis por um programa tenham sua memória liberada e devolvida automaticamente para o S.O. 
( ) Objetos, assim como os ponteiros, que não existem em Java, só podem ser utilizados quando passarem a referenciar uma área de memória que conterá uma instância da sua classe (para objetos) ou de seus tipos (para ponteiros)
RESPOSTAS: V, F, F, F, F, V, V

Outros materiais