Sistema Futebol - Java

Documentos relacionados
Exercício de Estrutura de dados. Java Fila

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Introdução. Extends e Super. Exercício Prático 5 Herança. Nome:

Tratamento de Exceções

CAIXAS DE DIÁLOGO COM JOPTIONPANE

nome = n; cargo = c; salario = s; public void print() { System.out.println(nome cargo salario); public void aumento( double fator){

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

LÓGICA DE PROGRAMAÇÃO (JAVA) HERANÇA. Professor Carlos Muniz

Tipos, Literais, Operadores

Tipos, Literais, Operadores

insfcanceof new public switch transient while byte continue extends for int null

Entrada e Saída de dados por JOptionPane

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Linguagem de Programação II Implementação

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

JAVA Orientação a Objetos. Usando diálogos com JOptionPane

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Java Básico. Matrícula de Alunos. Marco Antonio, Arquiteto de Software TJDF Novembro/2005

Além de digitar e rodar os exemplos para ver seu funcionamento, deve-se ler atentamente e entender o que cada linha do código está fazendo.

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.

Aula 3. Objetivos Sequências de escapes ; Um aplicativo que adiciona inteiro; Aritmética.

Programação Estruturada e Orientada a Objetos

Computação II - Java - Teste 1.2 Prof. Adriano Joaquim de Oliveira Cruz 2015/04/27

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Java na Prática. Célio Silva Aula 3

Componente JOptionPane Layout Null Tratamento de Eventos. Action Listener

4 Conceito de Herança

Prof. Rogério Rocha 1

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

Programação Orientada a Objetos em Java

COMPORTAMENTOS - Observações

Análise de Programação

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

package heranca; class Mamifero { public int a; protected int b; int c; private int d;

Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario

Simulado de Linguagem de Programação Java

Programação por Objectos. Java

Palavras Reservadas da Linguagem Java

Programação Orientada a Objetos

Linguagem de Programação II Implementação

Testes Unitários com JUnit

Teste de Validação. ações visíveis ao usuário e entradas e saídas do sistema reconhecíveis pelo usuário

AULA 6 - ARRAYS. Array de 10 elementos

Notas de Aula 09: Tratamento de exceções

Sintaxe Básica de Java Parte 2

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Vetores Unimensionais

Seleção Múltipla Laços (while, do-while, for) AULA 05

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Comando if.. else. 2. JOptionPane. showmessagedialog. showconfirmdialog. showinputdialog. Caixa de diálogo para mostrar mensagem simples

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Atributos e Métodos Estáticos

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

double [] precoa = new double [1000]; // Preço com desconto para compras Avista

1) Responda de acordo com os conceitos de orientação a objetos (0,5).

JAVA. Professor: Bruno Toledo

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Linguagem Java - Introdução

SISTEMA EXPERIMENTALL 15/11/2009. Olá! A partir de agora vamos conhecer a IDE NetBeans efetuando um micro projeto swing.

DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Lógica de Programação. Lógica de Programação com Java

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Introdução à Linguagem Java

MsC. João Maria MsC. Liviane Melo

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Transcrição:

Sistema Futebol - Java ARTEFATO 01 Indice 1. CLASSE PESSOA... 2 2. CLASSE JOGADOR... 3 3. CLASSE TECNICO... 5 4. CLASSE SISTEMAFUTEBOL... 6 5. CLASSE SISTEMAFUTEBOLMAIN... 10 6. EXERCÍCIOS... 10 AT01 Sistema Futebol Page 1 of 11

1. Classe Pessoa import javax.swing.joptionpane; public class Pessoa { protected String nome, RG; public Pessoa(){ public Pessoa(String nome, String RG){ //Chamando o construtor da superclasse this.nome = nome; //Armazenando o RG enviado para o construtor this.rg = RG; public void imprimenome() { System.out.println("Nome: " + nome); public String retornanome(){ return nome; public void imprimetodososdados() { String result; result = "Dados cadastrais\nnome: " + nome + "\nrg: " + RG; JOptionPane.showMessageDialog( null, result, "Dados cadastrais", JOptionPane.INFORMATION_MESSAGE); public void solicitadados() { JOptionPane.showMessageDialog( null, "Digite os dados da pessoa a ser cadastrada", "Dados da pessoa", JOptionPane.INFORMATION_MESSAGE); solicitanome(); solicitarg(); public void solicitanome() { nome = JOptionPane.showInputDialog("Digite o nome:"); Page 2 of 11

public void solicitarg() { RG = JOptionPane.showInputDialog("Digite o RG:"); 2. Classe Jogador //Esta é uma subclasse da classe Pessoa import javax.swing.joptionpane; public class Jogador extends Pessoa { private String posicao; int flagreserva = 0;//quando for zero, significa que jogador nao esta na reserva --> 0=FALSE public Jogador(){ public Jogador(String nome, String RG, String posicao){ super(nome, RG); this.posicao = posicao; public void imprimeposicao() { System.out.println("posicao: " + posicao); public void switchreserva(){ //Troca jogador de reserva <-> titular if(flagreserva == 0 ) else flagreserva = 1; flagreserva = 0; public String retornaposicao(){ Page 3 of 11

return posicao; public void imprimetodososdados() { String result; posicao; result = "Dados cadastrais\nnome do jogador: " + nome + "\nrg: " + RG + "\nposicao do jogador : " + if(flagreserva==1) result = result + "\njogador na reserva"; JOptionPane.showMessageDialog( null, result, "Dados cadastrais do jogador", JOptionPane.INFORMATION_MESSAGE); public void solicitaposicao() { posicao = JOptionPane.showInputDialog("Digite a posição do jogador:"); public void setaposicao(string posicao) { this.posicao = posicao; public void solicitastatus(){ String opcao, s = "Jogador esta na reserva (0 - não / 1 - sim)"; opcao = JOptionPane.showInputDialog(s); flagreserva = Integer.parseInt(opcao); public void solicitadados() { super.solicitadados(); solicitastatus(); solicitaposicao(); Page 4 of 11

3. Classe Tecnico //Esta é uma subclasse da classe Pessoa import javax.swing.joptionpane; public class Tecnico extends Pessoa { private String timecomandado; public Tecnico(){ public Tecnico(String nome, String RG, String timecomandado){ //Chamando o construtor da superclasse super(nome, RG); //Armazenando o time comandado enviado pelo construtor this.timecomandado = timecomandado; public void imprimetimecomandado() { System.out.println("time Comandado: " + timecomandado); public String retornatimecomandado(){ return timecomandado; public void imprimetodososdados() { String result; result = "Dados cadastrais\nnome do treinador: " + nome + "\nrg: " + RG + "\ntime liderado pelo treinador: " + timecomandado; JOptionPane.showMessageDialog( null, result, "Dados cadastrais do treinador", JOptionPane.INFORMATION_MESSAGE); public void solicitatimecomandado() { timecomandado = JOptionPane.showInputDialog("Digite o time liderado pelo treinador:"); public void solicitadados() { super.solicitadados(); solicitatimecomandado(); Page 5 of 11

4. Classe sistemafutebol import java.util.*; import java.text.decimalformat; import javax.swing.joptionpane; public class sistemafutebol{ //O array list é uma collection da plataforma JAVA //Nela podemos armazenar, deletar objetos de classes diferentes e procurar pelos mesmos //É utilizada neste programa, para armazenar os jogadores e tecnicos de uma seleçao private ArrayList selecao; public sistemafutebol(){ selecao = new ArrayList(); public void administraselecao(){ Tecnico t = new Tecnico(); String s="", mensagem = "Opcoes de administracao do sistema\n1-adicionar treinador\n2-adicionar jogador\n3-ver integrantes da seleção"; mensagem = mensagem + "\n4-localisar jogador pelo numero da camisa\n5-trocar jogador reserva <- > titular\n6-trocar jogadores de posicao\n7-sair"; int opcao=0; for(;;){ try{ s = JOptionPane.showInputDialog(mensagem); opcao = Integer.parseInt(s); switch(opcao){ case 1: t.solicitadados(); selecao.add(t); break; case 2: Jogador j = new Jogador(); j.solicitadados(); selecao.add(j); break; case 3: imprimetodososdados(); break; case 4: localizarjogador(); Page 6 of 11

break; case 5: trocarjogadorreservatitular(); break; case 6: trocarjogadoresdeposicao(); break; case 7: catch (java.lang.numberformatexception e) {// Catch any IO exceptions. JOptionPane.showMessageDialog(null, "Na foi digitada opcao valida!\ndigite novamente!", "Mensagem de erro", JOptionPane.ERROR_MESSAGE); public void imprimetodososdados() { Pessoa p; if(!verificaintegrantescadastrados()) for(int m=0; m<selecao.size(); m++){ p = (Pessoa) selecao.get(m); p.imprimetodososdados(); private boolean verificaintegrantescadastrados(){ //Verificando se existem pessoas cadastradas if(selecao.size() == 0){ JOptionPane.showMessageDialog( null, "Nao existem integrantes cadastrados no time!", "Mensagem", JOptionPane.ERROR_MESSAGE); return false; return true; public Jogador retornajogador(string numerodacamisa) { Jogador p; String posicao = ""; Page 7 of 11

//Procurando se existe jogador na lista com o numero da camisa enviado for(int m=0; m<selecao.size(); m++){ p = (Jogador) selecao.get(m); posicao = p.retornaposicao(); //Caso seja igual, retorna o objeto if (Integer.parseInt(posicao) == Integer.parseInt(numeroDaCamisa)) return p; //Caso nao encontre, imprime mensagem e retorna NULL JOptionPane.showMessageDialog( null, "Nao existe jogador cadastrado com este numero de camisa", "Mensagem", JOptionPane.ERROR_MESSAGE); return null; public void localizarjogador(){ Jogador j; String camisa, s = "Digite o número da camisa do Jogador"; if(!verificaintegrantescadastrados()) camisa = JOptionPane.showInputDialog(s); j = retornajogador(camisa); if(j!= null) j.imprimetodososdados(); public void trocarjogadorreservatitular(){ //Este metodo, troca jogador de reserva para titular e vice-versa Jogador j; String camisa, s = "Digite o número da camisa do Jogador)"; if(!verificaintegrantescadastrados()) Page 8 of 11 camisa = JOptionPane.showInputDialog(s); j = retornajogador(camisa); if(j!= null) { j.switchreserva(); j.imprimetodososdados();

public void trocarjogadoresdeposicao(){ //Este metodo, troca jogador de reserva para titular e vice-versa Jogador j1, j2; String camisa1, camisa2, s = "Digite o número da camisa ", posicao1, posicao2; if(!verificaintegrantescadastrados()) //Solicitando o numero da camisa do primeiro jogadro camisa1 = JOptionPane.showInputDialog(s + " do primeiro jogador"); j1 = retornajogador(camisa1); //CAso nao exista, fornece mensagem de erro e sai da funcao if(j1 == null) j1.imprimetodososdados(); //Solicitando o numero da camisa do segundo jogadro camisa2 = JOptionPane.showInputDialog(s + " do segundo jogador"); j2 = retornajogador(camisa2); //CAso nao exista, fornece mensagem de erro e sai da funcao if(j2 == null) j2.imprimetodososdados(); posicao1 = j1.retornaposicao(); posicao2 = j2.retornaposicao(); j1.setaposicao(posicao2); j2.setaposicao(posicao1); JOptionPane.showMessageDialog(null, "Alteracao de posicao realizada com sucesso!", "Mensagem de erro", JOptionPane.INFORMATION_MESSAGE); Page 9 of 11

5. Classe sistemafutebolmain public class sistemafutebolmain{ public static void main(string[] args) { sistemafutebol s = new sistemafutebol(); //chamando o metodo da classe sistemafutebol que apresenta as opcoes do sistema s.administraselecao(); //saindo do sistema System.exit(0); 6. Exercícios Baseado nas classes descritas nos itens de 1 a 5 deste documento, realize as seguintes tarefas: No Eclipse, crie um novo projeto de nome sistemafutebol No projeto sistemafutebol insira as classes: Pessoa, Tecnico, Jogador, sistemafutebol, FutebolMain Teste o projeto e veja o mesmo funcionando. Acerte o nome da classe sistemafutebol para o padrão internacional de nomenclatura SistemaFutebol e acerte o programa para ele voltar a funcionar. Insira a propriedade endereço do tipo String na classe Pessoa e garanta o funcionamento do programa. Crie um documento word e para cada uma das 5 classes descreva: o Finalidade o Métodos que ela possui o Finalidade de cada método o Membros de dados o Finalidade de cada membro de dado Responda as seguintes questões: Para que serve o ArrayList na classe sistemafutebol? O que significa a instrução: public class Tecnico extends Pessoa Page 10 of 11

No código abaixo, para que servem as instrução (i) e (ii) public Jogador(String nome, String RG, String posicao){ super(nome, RG); //(i) this.posicao = posicao; //(ii) Para que serve o método verificaintegrantescadastrados() da classe sistemafutebol Page 11 of 11