Exercicios Java

10
UNIVERSIDADE NIVERSIDADE P PAULISTA AULISTA (UNIP) (UNIP) CAMPI AMPI: P : PARAÍSO ARAÍSO / C / CHACARÁ HACARÁ S SANTO ANTO A ANTÔNIO NTÔNIO DISCIPLINA ISCIPLINA: L : LINGUAGEM INGUAGEM DE DE P PROGRAMAÇÃO ROGRAMAÇÃO O ORIENTADA RIENTADA A O OBJETOS BJETOS (LPOO) (LPOO) PROF ROF. MS . MSC. V . VLADIMIR LADIMIR C CAMELO AMELO EXEMPLOS XEMPLOS E E EXERCÍCIOS XERCÍCIOS DE DE J JAVA AVA (P (PRÁTICO RÁTICO E T TEÓRICO EÓRICO) LINGUAGEM INGUAGEM DE DE PROGRAMAÇÃO ROGRAMAÇÃO O ORIENTADA RIENTADA A O OBJETOS BJETOS (POO) (POO) Na programação estruturada, as metodologias para a construção de um sistema são: (i) Quebrar a tarefa principal em subtarefas e estas em subtarefas menores, até que seja possível implementá-las; (topo para a base) (ii) Implementar procedimentos para resolver tarefas simples e depois agrupá-los em procedimentos mais complexos, até se chegar à resolução da tarefa principal. (base para o topo). As três das principais atividades envolvidas em um projeto orientado a objetos são: (i) Identificação dos objetos envolvidos com o sistema a ser desenvolvido e sua representação em forma de classes; (ii) Identificação de suas características relevantes e sua representação em forma de atributos; (iii) Identificação de ações realizadas e serviços prestados por esses objetos e sua representação em forma de métodos. Como pode ser notado, para compreender a POO é preciso analisar o significado de alguns elementos como objeto e classe. Mas para entendê-los, deverá também ser analisado o conceito de atributos e métodos. OBJETOS BJETOS Objeto é qualquer entidade do mundo real que apresente algum significado, mesmo que tal entidade não se constitua algo concreto ou palpável. Por exemplo, livro, calçado para os pés, cada peça de roupa utilizada, mesa, cadeira, gato, cachorro, computador, caneta, disquete, caderno, carro, avião, etc. As características, próprias de cada objeto são chamados de atributos. Os atributos são qualidades que permitem distinguir um objeto de outros semelhantes. Por exemplo, um cachorro pode ser diferenciado de outros por vários atributos: cor, raça, altura, comprimento, etc. Em outro exemplo, um carro pode ser diferenciado pelos atributos: marca, modelo, ano, cor, placa, chassi, etc. Há atributos compartilhados por dois objetos, assim como há atributos específicos de determinados objetos. Por exemplo, existe uma infinidade de carros cuja cor é vermelha, mas não pode haver 2 carros com a mesma placa. Além de possuir atributos, os objetos podem manifestar comportamentos. Estes comportamentos dizem respeito às ações que os objetos podem realizar ou serviços que eles podem prestar e são chamados de métodos. As pessoas também são objetos, pois todas elas possuem características (nome, idade, pai, mãe, peso, altura, etc.) e também manifestam um comportamento através de ações (falam, andam, trabalham, estudam, dormem, etc.). Há também os chamados objetos abstratos, como as formas geométricas, que são abstrações matemáticas. Não há como encontrar um círculo, uma elipse, um quadrado, um retângulo ou um triângulo no mundo real, mas apenas objetos que tenham essas formas. Isso significa que um círculo, por exemplo, não é um objeto palpável ou concreto, mas ele existe e tem suas características próprias (raio, área, etc.). Ao elaborar um projeto de sistemas, um objeto pode ser representado por meio de elipses. O termos “Um” e “Uma” foram utilizados para reforçar a idéia de que um objeto é sempre uma entidade específica. Um computador, por exemplo, representa um computador específico e não um conjunto de computadores. representação de objetos CLASSE LASSE O mais importante na POO é a identificação de grupos de objetos com atributos comuns. Por exemplo, apesar dos diferentes valores de cada um de seus atributos, os cachorros possuem o mesmo conjunto de atributos: cor, raça, altura, comprimento e peso. Isto faz com que eles pertençam à mesma categoria.

description

Exercicios Java

Transcript of Exercicios Java

Page 1: Exercicios Java

UUNIVERSIDADENIVERSIDADE P PAULISTAAULISTA (UNIP) (UNIP)CCAMPIAMPI: P: PARAÍSOARAÍSO / C / CHACARÁHACARÁ S SANTOANTO A ANTÔNIONTÔNIO

DDISCIPLINAISCIPLINA: L: LINGUAGEMINGUAGEM DEDE P PROGRAMAÇÃOROGRAMAÇÃO O ORIENTADARIENTADA AA O OBJETOSBJETOS (LPOO) (LPOO)PPROFROF. MS. MSCC. V. VLADIMIRLADIMIR C CAMELOAMELO

EEXEMPLOSXEMPLOS EE E EXERCÍCIOSXERCÍCIOS DEDE J JAVAAVA (P (PRÁTICORÁTICO EE T TEÓRICOEÓRICO))

LLINGUAGEMINGUAGEM DEDE PPROGRAMAÇÃOROGRAMAÇÃO O ORIENTADARIENTADA AA O OBJETOSBJETOS (POO) (POO)Na programação estruturada, as metodologias para a construção de um sistema são:

(i) Quebrar a tarefa principal em subtarefas e estas em subtarefas menores, até que seja possível implementá-las; (topo para a base)

(ii) Implementar procedimentos para resolver tarefas simples e depois agrupá-los em procedimentos mais complexos, até se chegar à resolução da tarefa principal. (base para o topo).

As três das principais atividades envolvidas em um projeto orientado a objetos são:

(i) Identificação dos objetos envolvidos com o sistema a ser desenvolvido e sua representação em forma de classes;

(ii) Identificação de suas características relevantes e sua representação em forma de atributos;

(iii) Identificação de ações realizadas e serviços prestados por esses objetos e sua representação em forma de métodos.

Como pode ser notado, para compreender a POO é preciso analisar o significado de alguns elementos como objeto e classe. Mas para entendê-los, deverá também ser analisado o conceito de atributos e métodos.

OOBJETOSBJETOS

Objeto é qualquer entidade do mundo real que apresente algum significado, mesmo que tal entidade não se constitua algo concreto ou palpável. Por exemplo, livro, calçado para os pés, cada peça de roupa utilizada, mesa, cadeira, gato, cachorro, computador, caneta, disquete, caderno, carro, avião, etc.

As características, próprias de cada objeto são chamados de atributos. Os atributos são qualidades que permitem distinguir um objeto de outros semelhantes. Por exemplo, um cachorro pode ser diferenciado de outros por vários atributos: cor, raça, altura, comprimento, etc. Em outro exemplo, um carro pode ser diferenciado pelos atributos: marca, modelo, ano, cor, placa, chassi, etc.

Há atributos compartilhados por dois objetos, assim como há atributos específicos de determinados objetos. Por exemplo, existe uma infinidade de carros cuja cor é vermelha, mas não pode haver 2 carros com a mesma placa. Além de possuir atributos, os objetos podem manifestar comportamentos. Estes comportamentos dizem respeito às ações que os objetos podem realizar ou serviços que eles podem prestar e são chamados de métodos. As pessoas também são objetos, pois todas elas possuem características (nome, idade, pai, mãe, peso, altura, etc.) e também manifestam um comportamento através de ações (falam, andam, trabalham, estudam, dormem, etc.).

Há também os chamados objetos abstratos, como as formas geométricas, que são abstrações matemáticas. Não há como encontrar um círculo, uma elipse, um quadrado, um retângulo ou um triângulo no mundo real, mas apenas objetos que tenham essas formas. Isso significa que um círculo, por exemplo, não é um objeto palpável ou concreto, mas ele existe e tem suas características próprias (raio, área, etc.).

Ao elaborar um projeto de sistemas, um objeto pode ser representado por meio de elipses. O termos “Um” e “Uma” foram utilizados para reforçar a idéia de que um objeto é sempre uma entidade específica. Um computador, por exemplo, representa um computador específico e não um conjunto de computadores.

representação de objetos

CCLASSELASSE

O mais importante na POO é a identificação de grupos de objetos com atributos comuns. Por exemplo, apesar dos diferentes valores de cada um de seus atributos, os cachorros possuem o mesmo conjunto de atributos: cor, raça, altura, comprimento e peso. Isto faz com que eles pertençam à mesma categoria.

Page 2: Exercicios Java

Uma classe representa um grupo de objetos com características comuns e compõem-se, basicamente, de atributos e de métodos. Os atributos representam as características dos objetos, e os métodos representam as ações que eles podem realizar ou serviços que eles podem prestar.

As classes são representadas, graficamente, através de um retângulo dividido em três partes, como mostra a figura abaixo. A primeira parte contém a identificação da classe, neste exemplo é Cliente. A segunda parte contém os atributos da classe: Nome, Endereço, Telefone, E-mail, CPF e RG. A terceira parte contém os métodos: Compra(), Paga() e Devolve(). O par de parênteses auxilia a distingui-los dos atributos.

Representação de classes

OOPERAÇÕESPERAÇÕES DEDE A ABSTRAÇÃOBSTRAÇÃO

O processo de abstração começa com a criação de uma classe para representar um conjunto de objetos dentro de um sistema. As classes não devem incluir todos os atributos dos objetos e nem todas as suas ações e serviços. Somente devem incluir os atributos e as ações (ou serviços) pertinentes ao papel a ser desempenhado dentro do programa.

O processo de abstração compõe-se de um conjunto de operações realizadas com a finalidade de representar objetos do mundo real em forma de classes, de modo que eles possam interagir em um programa para realizar determinadas tarefas. Com isto, deve-se identificar os atributos e métodos relevantes de cada classe e eliminar os atributos e métodos desnecessários.

A figura abaixo mostra o processo de abstração, ou seja, retirada dos atributos e métodos desnecessários, deixando somente os atributos e métodos relevantes para da classe Cliente.

processo de abstração

Criar classes que representem os aspectos relevantes de objetos é apenas um passo no contexto do processo de abstração. Há, na verdade, seis operações de abstração distintas a serem analisadas: (i) Classificação; (ii) Instanciação; (iii) Generalização; (iv) Especialização; (v) Agregação; (vi) Decomposição.

1. C1. CLASSIFICAÇÃOLASSIFICAÇÃO VERSUSVERSUS I INSTANCIAÇÃONSTANCIAÇÃO

A classificação é a operação de abstração por meio da qual são analisados os objetos do mundo real para identificar suas características comuns e definir a que classe cada um deles pertence, ou seja, a classificação refere-se à criação de uma classe para representar vários objetos que possuem os mesmos atributos e realizas as mesmas ações.

A instanciação segue o caminho inverso. Ela é caracterizada pela criação de objetos a partir de uma classe já existente, ou seja, a operação de instanciação somente pode ser realizada depois de concluída a operação de classificação. A figura abaixo mostra os dois processos discutidos acima.

Page 3: Exercicios Java

classificação e instanciação

2. G2. GENERALIZAÇÃOENERALIZAÇÃO VERSUSVERSUS E ESPECIALIZAÇÃOSPECIALIZAÇÃO

A generalização é a operação de abstração através da qual se procede a análise de um conjunto de classes e a identificação de características comuns entre elas, com o objetivo de criar uma classe mais genérica para representar os atributos e métodos existentes em duas ou mais classes específicas.

A especialização segue o caminho inverso da generalização. Ela se caracteriza pela criação de duas ou mais classes específicas a partir de uma classe genérica para representar atributos e métodos que são distintos entre elas. A figura abaixo mostra os dois processos discutidos acima.

generalização versus especialização

3. A3. AGREGAÇÃOGREGAÇÃO VERSUSVERSUS C COMPOSIÇÃOOMPOSIÇÃO

Uma operação de agregação é realizada quando um objeto é utilizado como parte da composição de outro objeto. Uma operação de decomposição diz respeito à atividade voltada para a separação dos objetos que compõem outro objeto, isolando-os. A figura abaixo mostra os dois processos discutidos acima.

generalização versus especialização

Page 4: Exercicios Java

BIBLIOGRAFIA BÁSICABIBLIOGRAFIA BÁSICA

Santos, Rui R. dos, Programando em Java 2 – Teoria e Aplicações, Rio de Janeiro, Axcel books, 1ª edição, 2004.

Boente, A., Aprendendo a programar em Java 2 – Orientado a objetos, Rio de Janeiro, Brasport, 1º edição, 2003.

BIBLIOGRAFIA COMPLEMENTARBIBLIOGRAFIA COMPLEMENTAR

Morgan, Michael, Java 2, para programadores profissionais, Axcel books, 1ª edição, 2004.

Deitel, H.M., Java, como Programar, São Paulo, Pearson, 1º reimpressão, 2006.

IIMPLEMENTAÇÃOMPLEMENTAÇÃO DEDE C CLASSESLASSES

1. D1. DECLARAÇÃOECLARAÇÃO

Para criar uma nova classe basta abrir um novo arquivo-fonte e declará-la de acordo com a sintaxe a seguir.

[encapsulamento] [qualificador] class <nome da classe> ...

Há dois tipos de classes: externa e interna. Classes externas são aquelas que possuem seus nomes coincidindo com o nome dos arquivos fontes. Classes internas são aquelas escritas dentro das classes externas.

Os termos para encapsulamento e qualificador são opcionais, com exceção para a classe externa que deve possuir o modificador “public” (público). Tanto o encapsulamento, quanto o qualificador possibilitam modificar o tipo de acesso à classe. Os modificadores de acesso a uma classe são: public, protected, friendly e private. As formas de qualificar uma classe são: abstract (abstrata) e final (final).

Quando o modificador é “public”, significa que a classe poderá ser instanciada e utilizada livremente. Isso serve tanto para classes externas, quanto para classes internas. O modificador “protected” não se aplica às classes externas e significa que a classe pode ser utilizada apenas no mesmo “package” (pacote) ou em subclasses da classe externa. Quando a classe não possui modificador (friendly), ela pode ser instanciada e utilizada apenas entre as classes que estão no mesmo “package”. Finalmente, o modificador “private” não se aplica às classes externas e pode ser utilizado apenas na mesma classe externa, por classes internas.

O qualificador “abstract” indica que a classe não poderá ser instanciada. Isto significa que nenhum objeto poderá ser criado diretamente a partir dela. Esse tipo de classe é utilizado para definir superclasses genéricas (operações de generalização). A aplicação desse qualificador se estende tanto às classes externas quanto às internas. O qualificador “final” indica que a classe não pode ser estendida, ou seja, não podem ser criadas outras classes a partir dela. Neste tipo de classe não é possível realizar uma operação de especialização. Os qualificadores abstract e final são exclusivos e jamais podem ser utilizados em conjunto.//importações ...//classe externapublic class ClasseTeste {

//classe interna com encapsulador "public" e qualificador "final"public abstract class ClasseI {

//... }protected class ClasseII { //classe interna com encapsulador "pritected"

//... }final class ClasseIII { //classe interna sem encapsulador e qualificador "final"

//... }//classe interna com encapsulador "private"private class ClasseIV {

//... }//demais métodos da classe externa ...//método principalpublic static void main(String[] args) {

//... }

}

Page 5: Exercicios Java

2. I2. INSTANCIAÇÃONSTANCIAÇÃO

Instanciar uma classe significa criar um novo objeto a partir dela. Lembrando que todo objeto pertence a uma classe. Todo objeto precisa ser declarado e instanciado. A declaração de objetos é feita utilizando a seguinte sintaxe:

<nome da classe> <nome do objeto>

A declaração de um objeto sempre iniciará com o nome de uma classe.

Exemplos:

ClasseTeste obj;

String st;

Depois de declarado o objeto precisa ser instanciado através da seguinte sintaxe:

<nome do objeto> = new <construtor>([<argumentos>]);

O responsável pela instanciação do objeto sempre será um construtor disponível em sua classe. Todo construtor possui o mesmo nome da classe a que se refere e há um construtor padrão na maioria das classes que dispensa o uso de argumentos.

A instanciação é feita através de uma operação de atribuição em que o objeto recebe o espaço na memória que lhe for reservado pelo construtor. O operador new sempre precederá o construtor utilizado nessa operação. Caso seja utilizado o construtor padrão, o nome do construtor será seguido de um par de parênteses sem nada dentro.

Exemplos:

obj = new ClasseTeste();

st = new String(“Texto”);

A declaração e a instanciação podem ser feitas numa única instrução através da seguinte sintaxe:

<nome da classe> <nome do objeto>= new <construtor>([<argumentos>]);

Exemplos:

ClasseTeste obj = new ClasseTeste();

String st = new String(“Texto”);

É possível criar objetos anônimos (aqueles que não possuem nome). Para isso não é necessário criar o nome do objeto durante a instanciação. Esses objetos são utilizados no caso em que a instância de classe é utilizada uma única vez, diferente dos objetos com nome que podem ser utilizados enquanto estiverem na memória.

Exemplos:

new ClasseTeste();//importações ...//classe externapublic class ClasseTeste {

//classe interna com encapsulador "pritected"protected class ClasseI {

//... }//classe interna com encapsulador "private"private class ClasseII {

//método da classe interna ClasseII para acesso à classe ClasseIpublic void acesso() {

//objeto anônimo que é uma instância da classe ClasseInew ClasseI();

}}//demais métodos da classe externa ...//método principalpublic static void main(String[] args) {

//instância da classe externa ClasseTeste - construtor padrãoClasseTeste obj = new ClasseTeste();//instância da classe String - construtor alternativoString st = new String("Teste");

}}

Page 6: Exercicios Java

AATRIBUTOSTRIBUTOS

Os atributos também são conhecidos como dados membros ou variáveis de instância. Eles representam as características dos objetos do mundo real que pertencem à classe. Os atributos devem ser declarados entre o par de chaves, que delimita o corpo da classe. São recomendáveis que os atributos sejam os primeiros elementos a serem listados. A sintaxe para a declaração de atributos está descrita abaixo.

[encapsulamento] [qualificador] class <nome da classe> //declaração da classe{

<encapsulamento> <qualificador> <tipo> <nome>;<encapsulamento> <qualificador> <tipo> <nome1>, <nome2>,…, <nomeN>;

... classes internas

... métodos da classe}

As diretivas encapsulamento e qualificador determinam as restrições de acesso aplicáveis ao atributo. No caso do encapsulamento, as restrições podem ser “public”, “protected”, “private” ou “friendly”. Para o qualificador, as restrições são “final”, “static”, “transiente” e “volatile”. //importações ...//classe públicapublic class ClasseAtributo {

//atributos da classe ClasseAtributopublic final double DB = 10.5; //encapsulamento public e qualificador finalprotected int i, j; //encapsulamento protected static String st; //sem encapsulamento e qualificador statictransient private char[ ] chVetor; //modificador private e qualificador transientpublic volatile float db; //encapsulamento public e qualificador volatile//classes internas ...//métodos ...

}Quando o modificador é “public”, significa que o atributo poderá ser utilizado livremente. O modificador “protected” indica que o atributo poderá ser utilizado apenas no mesmo “package” (pacote) ou em subclasses. Quando o atributo não possui modificador (friendly), ele pode ser utilizado apenas no mesmo “package”. Finalmente, o modificador “private” significa que o atributo poderá ser utilizado apenas na mesma classe.

O qualificador “final” indica que o atributo é constante. O qualificador “static” indica que o atributo pode ser utilizado a partir do nome da classe. Ao modificar o conteúdo de um atributo “static”, a alteração reflete para todos os objetos. Quando não há qualificador, a alteração realizada num atributo só reverte ao próprio objeto que o alterou, os demais permanecem com seus respectivos valores. O qualificador “transient” indica que o atributo não é persistente e, portanto, não pode ser serializado. Finalmente, o qualificador “volatile” não permite que o atributo seja armazenado em cache. O tipo pode ser um dos tipos de dados primitivos ou uma classe (tipo objeto) e o nome é a identificação do atributo.

Os atributos servem para armazenar informações, mas para utilizá-los é necessário instanciar a classe a qual eles pertencem, ou seja, criar um objeto a partir dela.

Representação gráfica da classe Cliente

O gráfico de classe acima representa a classe Cliente com os atributos nome e email do tipo String e credito do tipo double e um método chamado main com um parâmetro (vetor) args do tipo String. Um código possível para a classe acima está descrito abaixo:

Page 7: Exercicios Java

//classe externapublic class Cliente {

//atributospublic String nome;public String email;public static double credito = 1000.0;//método principalpublic static void main(String[ ] args) {

//instanciações da classe ClienteCliente objcli1 = new Cliente(); //criação do objeto objcli1Cliente objcli2 = new Cliente(); //criação do objeto objcli2//manipulação dos atributos da classe Cliente a partir do objeto objcli1objcli1.nome = new String("José da Silva");objcli1.email = new String("[email protected]");objcli1.credito = 2600.0; //sem efeito

//manipulação dos atributos da classe Cliente a partir do objeto objcli2objcli2.nome = new String("João dos Santos");objcli2.email = new String("[email protected]");objcli2.credito = 8500.0;

//preparação da saída de dados para o cliente 1String st = "Dados do cliente 1:\n";st = st + "\nNOME:\t\t" + objcli1.nome;st = st + "\nEMAIL:\t\t" + objcli1.email;st = st + "\nCRÉDITO:\t\t" + objcli1.credito + "\n";

//impressão dos dados do cliente 1System.out.println(st);

//preparação da saída de dados para o cliente 2st = "Dados do cliente 2:\n";st = st + "\nNOME:\t\t" + objcli2.nome;st = st + "\nEMAIL:\t\t" + objcli2.email;st = st + "\nCRÉDITO:\t\t" + objcli2.credito + "\n\n";

//impressão dos dados do cliente 1System.out.println(st);

}}

EEXERCÍCIOXERCÍCIO

Implemente um código possível para a classe da figura abaixo.

representação gráfica da classe NotaAluno

BIBLIOGRAFIA BÁSICABIBLIOGRAFIA BÁSICA

Santos, Rui R. dos, Programando em Java 2 – Teoria e Aplicações, Rio de Janeiro, Axcel books, 1ª edição, 2004. Boente, A., Aprendendo a programar em Java 2 – Orientado a objetos, Rio de Janeiro, Brasport, 1º edição, 2003.

BIBLIOGRAFIA COMPLEMENTARBIBLIOGRAFIA COMPLEMENTAR

Morgan, Michael, Java 2, para programadores profissionais, Axcel books, 1ª edição, 2004.

Page 8: Exercicios Java

Deitel, H.M., Java, como Programar, São Paulo, Pearson, 1º reimpressão, 2006.

1.0 E1.0 ESTRUTURASSTRUTURAS C CONDICIONAISONDICIONAIS

O condicional contém a palavra chave if, seguido por um teste booleano. Um opcional else como palavra chave pode ser executado na caso do teste ser falso, Exemplo: if ( x < y)

System.out.println(“ x e menor do que y”);else

System.out.println(“ y e maior);

1.1 B1.1 BLOCOLOCO

Um bloco é definido por ({}) e contém um grupo de outros blocos. Quando um novo bloco é criado um novo escopo local é aberto e permite a definição de variáveis locais. As variáveis definidas dentro de um bloco só podem ser vistas internamente a este, e são terminadas ou extintas no final da execução deste(}).

void testblock(){int x = 10, w=1;

if (x> w) { // inicio do bloco int y=50;System.out.println(“dentro do bloco”);System.out.println(“x:” + x);System.out.println(“y:” + y);

} // final do bloco

System.out.println(“w:” + w);System.out.println(“y:” + y); // erro variável não conhecida

}1.2 O 1.2 O OPERADOROPERADOR C CONDICIONALONDICIONAL

Uma alternativa para o uso do if e else é um operador ternário condicional. Este operador ternário (?: ) , é chamado assim porque tem três termos como parâmetro.test ? trueresult : falseresultint menor = x < y ? x : y ; //A variável menor recebe o valor do menor entre x e y.

1.3 O 1.3 O SWITCHSWITCH

Um comum mecanismo para substituição de ifs que pode ser usado para um grupo de testes e ações junto a um simples agrupamento chama-se switch.

switch (teste){case valorum;

resultum;break;

case valordois;resultdois;break;

case valortres:resulttres;break;

default: defaultresult;}O valor é comparado com cada um dos casos relacionados. Se a combinação não for encontrada, o bloco default executado. O default é opcional, então caso este não esteja associado ao comando, o bloco do swicth sem executar nada.

EEXERCÍCIOSXERCÍCIOS PARAPARA FIXAÇÃOFIXAÇÃO DODO CONTEÚDOSOBRECONTEÚDOSOBRE E ESTRUTURASSTRUTURAS CONDICIONAISCONDICIONAIS

1. Crie uma classe em Java que receba dois números inteiros positivos e realize a comparação para verificar e apresentar ao usuário qual dos dois números é o maior.

2. Crie uma classe em Java que receba do usuário um número qualquer e informe ao usuário se este número é primo ou não.

3. Crie uma classe em Java que implemente um menu com 5 opções, sendo estas: (1) Hambúrguer, (2) Sanduíche, (3) Misto Quente, (4) Misto Frio e (5) Sair. Apresente este menu para o usuário e solicite que o

Page 9: Exercicios Java

mesmo informe qual opção deseja escolher. Após a escolha da opção apresente ao usuário a opção informada.

EEXEMPLOSXEMPLOS DEDE C CLASSESLASSES

IIMPLEMENTEMPLEMENTE OSOS CÓDIGOSCÓDIGOS DASDAS CLASSESCLASSES EMEM JAVAJAVA APRESENTADOSAPRESENTADOS ABAIXOABAIXO. A. ANÁLISENÁLISE EE EXPLIQUEEXPLIQUE COMOCOMO FUNCIONAMFUNCIONAM ESTASESTAS CLASSESCLASSES NESTENESTE CONTEXTOCONTEXTO. C. CRIERIE OO DIAGRAMADIAGRAMA DEDE CLASSESCLASSES PARAPARA OSOS CÓDIGOSCÓDIGOS APRESENTADOSAPRESENTADOS ABAIXOABAIXO COMCOM SUASSUAS DEVIDASDEVIDAS ASSOCIAÇÕESASSOCIAÇÕES..

----------TestaCarro.java----------------class TestaCarro{ public static void main(String args[]){ Carro corsa = new Carro(); corsa.setMarca("GM"); corsa.setModelo("Corsa Sedam"); corsa.setCor("Prata"); corsa.setAno(2001); Carro vectra = new Carro("GM","Vectra 16V","Azul",2000); System.out.println ("Meu carro e " + corsa.getModelo() ); System.out.println ("Outro carro " + vectra.getModelo() ); }}

--------------Carro.java----------------public class Carro {

private Motor motor;private String modelo;

public Carro(String modelo, int idMotor, int cv) {this.modelo=modelo;this.motor=new Motor(idMotor, cv);

}

public int getCV() {return this.motor.getCV();

}

}

--------------Motor.java----------------public class Motor {

private int id;private int cv;

public Motor(int id, int cv) {this.id=id;this.cv=cv;

}

public int getCV() {return this.cv;

}

}

EEXERCÍCIOXERCÍCIO 1: P 1: PRIMEIRARIMEIRA C CLASSELASSE

Descrição do Trabalho: Defina uma classe simples denominada CS em Java com os seguintes atributos: nome, endereco e cargo (todos do tipo String). Crie métodos de gravação e leitura para os atributos. Faça um programa que crie um objeto dessa classe e leia e mostre os valores referentes a esses atributos. Use a classe Tela para apresentar estes resultados.

Page 10: Exercicios Java

Exercício 2: Atributo Estático

Descrição do Trabalho: Crie uma classe denominada Est com um atributo estático do tipo inteiro e um atributo do tipo inteiro não estático (atr1 e atr2). Crie métodos mostra_atr1 e mostra_atr2 para apresentar o valor desses atributos. Crie os métodos inc_atr1 e inc_atr2 para incrementar o valor desses atributos (estes métodos devem receber um parâmetro do tipo inteiro que é o valor utilizado como incremento). Faça um programa que crie dois objetos denominados est1 e est2 da classe Est, todos alterando e lendo esse atributo. Faça cada uma das classes incrementar os dois atributos separadamente e mostre seus valores após os incrementos.

Exercício 3: Exceções

Descrição do Trabalho: Compile o arquivo opcoes.java, erros.java e erros2.java. Execute os programas erros.java e erros2.java. Explique qual a diferença entres essas duas abordagens.

Exercício 3: Exceções - Resposta:

--------- CLASSE OPCOES ---------

public class opcoes {public void escolha(int op){

switch (op) { case 1: System.out.println("Voce escolheu a opcao 1");break; case 2: System.out.println("Voce escolheu a opcao 2");break; default: throw new RuntimeException("Deu erro"); }

} }

--------- PROGRAMA ERROS ---------

public class erros{public static void main (String [] arg) {

opcoes op = new opcoes(); try{ op.escolha(4); }

catch (Exception e) { System.out.println("Algum erro");} finally { System.out.println("Erro tratado");}} }

--------- PROGRAMA ERROS2 ---------

public class erros2{ public static void main (String [] arg) { opcoes op = new opcoes(); op.escolha(4); } }