capítulo 12 - rui rossi · charc = s.charat(0);...} rui rossi dos santos programação de...
TRANSCRIPT
![Page 1: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/1.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
CapCapíítulo 12tulo 12A Anatomia das ClassesA Anatomia das Classes
![Page 2: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/2.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Objetivos do Capítulo
� Relacionar cada um dos elementos constitutivos das classes: os atributos, os construtores e os métodos.
� Apresentar a sintaxe utilizada para a declaração de classes e para a instanciação de objetos.
� Indicar como são declarados os atributos de uma classe e como podem ser empregados para o armazenamento de dados dos objetos que a ela pertencem.
� Analisar o papel dos construtores para a instanciação de objetos e para a inicialização de seus atributos.
� Apontar como as ações e serviços de um conjunto de objetos podem ser implementados na forma de métodos em sua classe.
![Page 3: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/3.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Introdução
� Membros das classes:� Atributos
� Construtores
� Métodos
![Page 4: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/4.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Declaração de Classes
� Sintaxe
[public] [abstract|final] class <NomeDaClasse> {
}
� Exemplo:
public class Professor {
}
![Page 5: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/5.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Instanciação de Classes
� Significado:� Criação de objetos
� Declaração de objetos: sintaxe
<NomeDaClasse> <NomeDoObjeto>;
� Declaração de objetos: exemplos
Professor professor_augusto;
Professor professor_cezar;
![Page 6: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/6.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Instanciação de Classes
� Instanciação de classes: sintaxe
<nomeDoObjeto> = new <construtor>([argumentos]);
� Instanciação de classes: exemplos
professor_augusto = new Professor();
professor_cezar = new Professor(“Cezar Botelho”);
� Declaração e instanciação de classes: exemplos
Professor professor_augusto = new Professor();
Professor professor_cezar = new Professor(“Cezar Botelho”);
![Page 7: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/7.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Atributos
� Definição:� Dados membro
� Variáveis de instância
� Características dos objetos
� Declarados no corpo da classe
� Sintaxe:
[encapsulamento] <tipo> <nomeDoAtributo>;
![Page 8: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/8.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Atributos
� Exemplos:
public class Endereco {
public byte tipo;
public String logradouro;
public int numero;
public String complemento;
public String bairro;
public String cep;
public String cidade;
public String estado;
}
![Page 9: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/9.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Atributos
� Inicialização:
Endereco endereco_residencial = new Endereco( );
endereco_residencial.tipo = 1;
endereco_residencial.logradouro = “Rua XV de Novembro”;
endereco_residencial.numero = 1556;
endereco_residencial.complemento = “Apartamento 112”;
endereco_residencial.bairro = “Centro”;
endereco_residencial.cep = “85903-550”;
endereco_residencial.cidade = “Toledo”;
endereco_residencial.estado = “Paraná”;
![Page 10: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/10.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Atributos
� Código 12.1 – Cliente.java� Implemente a classe Cliente conforme representação.
� Código 12.2 – TestaCliente.java� Implemente a classe TestaCliente conforme representação.
� Implemente o seguinte procedimento no seu método main( ):� Instancie dois objetos da classe Cliente.
� Armazene um dado em cada atributo destes objetos.
� Recupere e exiba o conteúdo dos atributos destes objetos.
![Page 11: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/11.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Construtores
� Finalidade:� Instanciação de classes.
� Inicialização de atributos.
� Sintaxe:
public <NomeDoConstrutor>([parâmetros]) {
}
![Page 12: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/12.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Construtores
� Código 12.3 – Gato.java� Implemente a classe Gato conforme representação.
� O construtor deve inicializar todos os atributos.
� Código 12.4 – TestaGato.java� Implemente a classe TestaGato conforme representação.
� Implemente o seguinte procedimento no seu método main( ):� Instancie um objeto da classe Gato.
� Recupere e exiba o conteúdo dos atributos deste objeto.
![Page 13: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/13.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Construtores
![Page 14: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/14.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Construtores
� Código 12.5 – Peixe.java� Implemente a classe Peixe conforme representação.
� Os dois construtores devem inicializar os atributos.
� Código 12.6 – TestaPeixe.java� Implemente a classe TestaPeixe conforme representação.
� Implemente o seguinte procedimento no seu método main( ):� Instancie um objeto da classe Peixe utilizando seu construtor padrão.
� Armazene um dado em cada atributo deste objeto.
� Instancie um objeto da classe peixe com seu construtor alternativo.
� Recupere e exiba o conteúdo dos atributos do primeiro objeto.
� Recupere e exiba o conteúdo dos atributos do segundo objeto.
![Page 15: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/15.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Construtores
![Page 16: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/16.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Métodos
� Definição:� Tarefas realizadas pelos objetos.
� Serviços prestados pelos objetos.
� Operações realizadas com os objetos no interior do programa.
� Sintaxe:
[encapsulamento] <tipo> <identificador>([parâmetros]) {
}
![Page 17: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/17.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Métodos
� Exemplos:
public int some(int primeiroValor, int segundoValor) {
int resultado;
resultado = primeiroValor + segundoValor;
return resultado;
}
public void exibir(String texto) {
JOptionPane.showMessageDialog(null,texto);
}
![Page 18: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/18.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Métodos
� Código 12.7 – Matematico.java� Implemente a classe Matematico conforme representação.
� Especificação do método fatorial( ):� Parâmetro valor: número inteiro igual ou inferior a 127.
� Retorno: o fatorial deste número
�Obs.: o fatorial de zero é um.
![Page 19: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/19.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Métodos
� Código 12.8 – TestaMatematico.java� Implemente a classe TestaMatematico conforme representação.
� Implemente o seguinte procedimento no seu método main( ):� Peça ao usuário que informe dois números.
o Se ocorrer uma NumberFormatException, exiba uma mensagem e encerre o programa.
� Crie uma instância da classe Matematico.
�Utilize os métodos deste objeto para realizar os seguintes cálculos com os dois valores informados:o Some os dois valores.
o Subtraia o segundo do primeiro.
o Multiplique os dois valores.
o Divida o primeiro pelo segundo.
o Calcule o fatorial de ambos.
� Exiba uma mensagem com todos os resultados.
![Page 20: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/20.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Métodos
![Page 21: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/21.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Métodos
![Page 22: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/22.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
![Page 23: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/23.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
� Código 12.9 – Estado.java� Implemente a classe Estado conforme representação.
� Especificação dos métodos:� exibirDados( ): deve exibir o conteúdo dos dois atributos, separados por um hífen, através de um diálogo gráfico. A sigla deve ser apresentada em maiúsculo.
� recuperarDados( ): deve retornar uma string com o conteúdo dos dois atributos, separados por um hífen. A sigla deve ser apresentada em maiúsculo.
� validarNome( ): deve avaliar se seu parâmetro contém um valor válido para ser armazenado no atributo nome da classe. Ele só será válido se tiver de 2 a 50 caracteres. Este método deve retornar true para indicar que o dado é válido e retornar false para indicar que o dado éinválido.
� validarSigla( ): deve avaliar se seu parâmetro contém um valor válido para ser armazenado no atributo sigla da classe. Ele só será válido se tiver de 2 caracteres. Este método deve retornar true para indicar que o dado é válido e retornar false para indicar que o dado é inválido.
![Page 24: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/24.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
� Código 12.10 – CadastroEstado.java� Implemente a classe CadastroEstado conforme representação.
� Implemente o seguinte procedimento em seu método main( ):� Instancie um objeto da classe Estado.
� Solicite ao usuário o nome e a sigla do estado a ser cadastrado e grave-os nos atributos correspondentes deste objeto.
� Se o usuário cancelar um destes diálogos, encerre o aplicativo.
�Utilize o método exibirDados( ) para exibir o conteúdo dos atributos deste objeto.
![Page 25: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/25.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
![Page 26: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/26.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
� Código 12.11 – CadastroEstados.java� Implemente a classe CadastroEstados conforme representação.
� Implemente o seguinte procedimento em seu método main( ):� Crie um vetor capaz de armazenar até 26 objetos da classe Estado.
� Permita que o usuário registre os dados de até 26 estados.o Grave os dados de cada estado em um objeto da classe Estado.
o Grave todos os objetos criados no vetor supracitado.
� Ao final, apresente um relatório contendo os dados de todos os estados que foram cadastrados.o Recupere os objetos que foram gravados no vetor.
o Utilize o método recuperarDados( ) destes objetos para obter o conteúdo de seus atributos.
![Page 27: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/27.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
![Page 28: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/28.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
� Código 12.12 – CadastroEstadosValidacao.java� Implemente a classe CadastroEstadosValidacao.
� Implemente o seguinte procedimento em seu método main( ):� Crie um vetor capaz de armazenar até 26 objetos da classe Estado.
� Permita que o usuário registre os dados de até 26 estados.o Grave os dados de cada estado em um objeto da classe Estado.
o Grave todos os objetos criados no vetor supracitado.
� Se o usuário informar um dado inválido, solicite-o novamente.o Realize a validação do nome com o método validarNome( ) da classe Estado.
o Realize a validação da sigla com o método validarSigla( ) da classe Estado.
� Ao final, apresente um relatório contendo os dados de todos os estados que foram cadastrados.
o Recupere os objetos que foram gravados no vetor.
o Utilize o método recuperarDados( ) destes objetos para obter o conteúdo de seus atributos.
![Page 29: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/29.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Unindo as Partes
![Page 30: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/30.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 1
� Crie um novo aplicativo que capte o nome completo de pessoas e indique quais são as suas iniciais.
� Este aplicativo deve ser composto por duas classes: Pessoa e GeradorIniciais.
� Implemente estas classes de acordo com a representação a seguir.
![Page 31: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/31.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 1
� Especificação dos métodos da classe Pessoa.� validarNome( ): este método deve avaliar se determinada string éum nome completo válido.�O nome só é válido quando:
o Possui de 5 a 50 caracteres.
o É composto de duas partes.
o Cada parte contém pelo menos 2 caracteres.
� Parâmetros:o nome: uma string contendo o nome a ser avaliado.
� Retorno: true quando o dado é válido e false quando o dado é inválido.
� gerarIniciais( ): este método deve produzir a string correspondente às iniciais do nome de uma pessoa.� Este método deve utilizar o conteúdo do atributo nome como valor de entrada para a realização desta operação.
� As iniciais devem ser compostas apenas por letras maiúsculas (A-Z).
� Retorno: uma string com as iniciais da pessoa.
![Page 32: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/32.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 1
� Dica para implementação dos métodos da classe Pessoa.� Utilize o método split( ) da classe String sempre que precisar desmembrar o nome completo em suas partes.
String str = “Rui Rossi dos Santos”;
String[ ] partes = str.split(“ ”);
� Para testar se este nome contém menos de duas partes:
if (partes.length < 2) ... ;
� Para recuperar o primeiro caractere de cada parte:
for (String s : partes) {
char c = s.charAt(0);
...
}
![Page 33: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/33.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 1
� O método main( ) da classe GeradorIniciais deve captar o nome completo de pessoas e indicar quais são as suas iniciais.� Fluxo normal:
�O usuário informa o nome completo de uma pessoa.
�O aplicativo exibe as iniciais deste nome.
�O aplicativo solicita outro nome.
� Tratamento de fluxos excepcionais:�O nome informado não é válido.
o Exibir mensagem de erro: “nome inválido!”.
o Solicitar novamente o nome.
�O usuário cancela o diálogo de entrada onde deveria informar o nome.o O aplicativo é encerrado.
� Utilize uma instância da classe Pessoa para validar e armazenar o nome informado e para gerar as iniciais correspondentes a ele.
![Page 34: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/34.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 1
![Page 35: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/35.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 2
� Crie um novo aplicativo que calcule a área de um círculo com base em sua circunferência.
� Este aplicativo deve ser composto por duas classes: Circulo e AreaCirculo.
� Implemente estas classes de acordo com a representação a seguir.
![Page 36: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/36.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 2
� Especificação dos métodos da classe Circulo.� validarCircunferencia( ): este método deve avaliar se determinada string é uma circunferência válida.� A circunferência só é válida quando é um número maior que zero.
� Parâmetros:o cf: uma string contendo a circunferência de um círculo.
� Retorno: true quando o dado é válido e false quando o dado é inválido.
� Exceções a serem tratadas: RuntimeException.
� calcularArea( ): este método deve calcular a área de um círculo com base em sua circunferência.� Este método deve utilizar o conteúdo do atributo circunferencia como valor de entrada para a realização desta operação.
� Passos para a realização do cálculo:o Divida o valor da circunferência do círculo pelo valor de PI e obtenha o diâmetro deste círculo.
o Divida o diâmetro do círculo por 2 e obtenha o seu raio.
o Eleve o raio do círculo à segunda potência e multiplique este resultado pelo valor de PI para obter sua área.
� Retorno: a área do círculo.
![Page 37: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/37.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 2
� O método main( ) da classe AreaCirculo deve captar a circunferência de um círculo e indicar qual é sua área.� Fluxo normal:
�O usuário informa a circunferência de um círculo.
�O aplicativo exibe a área deste círculo.
�O aplicativo solicita a circunferência de outro círculo.
� Tratamento de fluxos excepcionais:� A circunferência informada não é válida.
o Exibir mensagem de erro: “Dado inválido!”.
o Solicitar novamente a circunferência.
�O usuário cancela o diálogo de entrada.o O aplicativo é encerrado.
� Utilize uma instância da classe Circulo para validar e armazenara circunferência informada e para calcular a sua área.
![Page 38: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/38.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 2
![Page 39: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/39.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
� Crie um novo aplicativo que capte o nome, peso e altura de pacientes e que calcule seu IMC (Índice de Massa Corporal).
� Este aplicativo deve ser composto por duas classes: Paciente e TesteIMC.
� Implemente estas classes de acordo com a representação a seguir.
![Page 40: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/40.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
� Especificação dos métodos da classe Paciente.� validarNome( ): deve avaliar se determinado nome é válido.
�O nome só é válido se tiver de 2 a 50 caracteres.
� validarPeso( ): deve avaliar se determinada string contém um peso válido.�O peso só é válido se for um número fracionário maior que 0,0 e menor ou igual a 350,0.
� Exceções a serem tratadas: RuntimeException.
� validarAltura( ): deve avaliar se determinada string contém uma altura válida.� A altura só é válida se for um número fracionário maior que 0,0 e menor ou igual a 2,5.
� Exceções a serem tratadas: RuntimeException.
� calcularIMC( ): este método deve calcular o IMC de um paciente.� Este método deve utilizar o conteúdo dos atributos peso e altura como valores de entrada para a realização desta operação.
� Fórmula para a realização do cálculo:IMC = Peso / Altura2
� Retorno: o IMC do paciente.
![Page 41: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/41.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
� Especificação dos métodos da classe Paciente.� classificarIMC( ): este método deve analisar o IMC do paciente e indicar a que categoria ele pertence.�Utilize o método calcularIMC( ) para implementar este método.
� Retorno: a categoria a que pertence o IMC do paciente.
� recuperarResultado( ): este método deve retornar uma string contendo todos os dados do paciente.� Cada dado deve ser apresentado em uma linha distinta.
�Os dados devem ser listados na seguinte ordem: nome, peso, altura, IMC e categoria.
IMC Categoria
Até 18,4 Abaixo do peso
De 18,5 a 24,9 Peso normal
De 25,0 a 29,9 Sobrepeso
De 30,0 a 34,9 Obesidade Grau I
De 35,0 a 39,9 Obesidade Grau II
Acima de 40,0 Obesidade Grau III
![Page 42: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/42.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
� O método main( ) da classe TesteIMC deve captar o nome, o peso e a altura de um paciente e exibir o resultado de seu teste de IMC.� Fluxo normal:
�O usuário informa o nome do paciente.
�O usuário informa o peso do paciente.
�O usuário informa a altura do paciente.
�O aplicativo exibe o resultado de seu teste de IMC.
�O aplicativo inicia outro teste de IMC.
� Tratamento de fluxos excepcionais:�O usuário cancela um diálogo de entrada.
o O aplicativo é encerrado.
�O nome informado não é válido.o Exibir mensagem de erro: “Nome inválido!”.
o Solicitar novamente o nome.
�O peso informado não é válido.o Exibir mensagem de erro: “Peso inválido!”.
o Solicitar novamente o peso.
![Page 43: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/43.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
� Método main( ) da classe TesteIMC� Tratamento de fluxos excepcionais:
� A altura informada não é válida.o Exibir mensagem de erro: “Altura inválida!”.
o Solicitar novamente a altura.
� Utilize uma instância da classe Paciente para validar e armazenar o nome, o peso e a altura informados e para realizar oteste de IMC e exibir o seu resultado.
![Page 44: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/44.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 3
![Page 45: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/45.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 4
� Crie um novo aplicativo que realize o cadastro de clientes.
� Este aplicativo deve ser composto por duas classes: Cliente e CadastroCliente.
� Implemente estas classes de acordo com a representação a seguir.
![Page 46: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/46.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 4
� Especificação dos métodos da classe Cliente.� recuperarDados( ): este método deve retornar uma string contendo todos os dados do cliente.�Os dados devem ser apresentados separados por hífens.
� validarNome( ): deve avaliar se determinado nome é válido.�O nome só é válido se tiver de 2 a 50 caracteres.
� Só pode conter letraso As letras podem ser maiúsculas (A-Z) ou minúsculas (a-z)
o Não pode conter nenhuma acentuação
� validarTelefone( ): deve avaliar se determinado telefone é válido.� Só é válido se tiver 10 dígitos (Ex.: 4532789553)
� validarEmail( ): deve avaliar se determinado e-mail é válido.� Deve conter de 5 a 50 caracteres.
� Deve conter um único símbolo da arroba (@).
� A arroba deve ser precedida por pelo menos 2 caracteres.
� Deve haver pelo menos 2 caracteres após a arroba.
� validarCpf( ): deve avaliar se determinado CPF é válido.� Só é válido se tiver 11 dígitos (Ex.: 87693288512)
![Page 47: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/47.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 4
� O método main( ) da classe CadastroCliente deve captar os dados de cadastrais de clientes e armazená-los em um vetor de objetos.� Este aplicativo deve ser capaz de armazenar até 32767 cadastros de clientes.
� Se um dado informado for inválido, o aplicativo deve exibir uma mensagem de erro e solicitá-lo novamente.
� Ao final, o aplicativo deve exibir uma mensagem contendo os dados cadastrais que foram gravados.
� Se o usuário cancelar qualquer diálogo de entrada, somente os dados dos cadastros que já haviam sido concluídos devem ser exibidos.
![Page 48: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/48.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 4
![Page 49: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/49.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 5
� Crie um novo aplicativo que realize o cadastro de produtos.
� Este aplicativo deve ser composto por duas classes: Produto e CadastroProduto.
� Implemente estas classes de acordo com a representação a seguir.
![Page 50: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/50.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 5
� Especificação dos métodos da classe Produto.� recuperarDados( ): deve retornar uma string contendo todos os dados do produto.�Os dados devem ser apresentados separados por hífens.
�O preço deve receber a formatação de um valor monetário.
� validarCodigo( ): avalia se determinado código é válido.� Deve ser um número inteiro maior que zero.
� Exceções a serem tratadas: RuntimeException.
� validarDescricao( ): avalia se determinada descrição é válida.� Deve conter de 1 a 50 caracteres.
� validarPreco( ): avalia se determinado preço é válido.� Deve ser um número fracionário maior que zero.
� Exceções a serem tratadas: RuntimeException.
![Page 51: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/51.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 5
� O método main( ) da classe CadastroProduto deve captar os dados de cadastrais de produtos e armazená-los em um vetor de objetos.� Este aplicativo deve ser capaz de armazenar os cadastros de até2.000.000 produtos.
� Se um dado informado for inválido, o aplicativo deve exibir uma mensagem de erro e solicitá-lo novamente.
� Ao final, o aplicativo deve exibir uma mensagem contendo os dados cadastrais que foram gravados.
� Se o usuário cancelar qualquer diálogo de entrada, somente os dados dos cadastros que já haviam sido concluídos devem ser exibidos.
![Page 52: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/52.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Exercício 5
![Page 53: Capítulo 12 - Rui Rossi · charc = s.charAt(0);...} Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra Exercício 1 O método main( ) da classe GeradorIniciaisdeve](https://reader031.vdocuments.site/reader031/viewer/2022013023/601654fd77255b495764267c/html5/thumbnails/53.jpg)
Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra
Contato
Com o autor:
Rui Rossi dos Santos
E-mail: [email protected]
Web Site: http://www.ruirossi.pro.br
Com a editora:
Editora NovaTerra
Telefone: (21) 2218-5314
Web Site: http://www.editoranovaterra.com.br