Exercícios 2 – Java Disciplina Teoria das Linguagens de Programação Prof. Elmo Faria 1) Escreva método estático boolean Par(int n), que recebe um inteiro n como argumento e retorna se o número é ou não primo. 2) Escreva um método estático que ordena um string de inteiros. Ex.: “teste” resultado “eestt” 3) Escreva um programa que imprime os argumentos de linha de comando na ordem reversa, do último ao primeiro. 4) Examine o programa abaixo. O que ele imprime se a entrada for 100 e 120? Para se assegurar que o programa esteja funcionando corretamente, quais seriam valores interessantes de entrada a testar se a meta for 100? import p1.io.*; public class Test { public static void main(String[] args) { int meta; int valorVendas; String desempenho; int bonus; meta = Entrada.in.lerInt("Meta de vendas? "); valorVendas = Entrada.in.lerInt("Total de vendas realizadas? "); desempenho = "insatisfatorio"; bonus = 0; if(valorVendas >= 2 * meta) { desempenho = "excelente!"; bonus = valorVendas/10; } else if(valorVendas >= meta) { desempenho = "satisfatorio"; bonus = valorVendas/20; } System.out.println("Seu desempenho eh: " + desempenho); System.out.println("Seu bonus eh: " + bonus); } } 5) Defina uma classe Java para representar uma pessoa. Uma pessoa, no nosso caso, possui os seguintes atributos: Nome Idade Altura Peso Sexo A classe deve possuir métodos para modificar e acessar cada um dos atributos, construtores, um método para calcular o IMC (Índice de Massa Corpórea) e um método toString() que fornece o nome da pessoa e uma descrição de sua categoria de acordo com o IMC. O ICM é obtido através da divisão do peso pela altura ao quadrado e é interpretado da seguinte forma: IMC <= 18,5: Abaixo do peso normal 18,5 < IMC <= 25: Peso Normal 25 < IMC <= 30: Acima do peso normal. IMC > 30: Obesidade 6) Você foi contratado para fazer um sistema de controle de uma biblioteca. Um item fundamental no sistema é obviamente a classe Livro. Construa uma classe Livro para ser usada no sistema. Pense sobre que funcionalidade precisa/deve estar implementada dentro de Livro e também sobre qual a interface Livro deve disponibilizar para o resto do sistema. Lembre-se de escrever os testes automáticos para esta classe. 7) Escreva uma classe em Java chamada Fita para representar fitas de vídeo. A classe tem dois atributos: o título da fita e o preço do aluguel por dia. Chame esses atributos "título" e "preço". Deve haver um método para que um programa "fora" da classe descubra o título da fita e o preço do aluguel por dia. Além do mais, deve haver um método público getPreçoAluguel(int númeroDeDiasAlugado) que retorne o valor do aluguel desta fita se ela for alugada um certo número de dias (este número de dias é passado como parâmetro). Invente um construtor adequado para a classe. 8) Escreva uma classe para Semáforo de Transito. Pense bem em quais métodos você quer criar. 9) Implemente a classe Dado, que tem a seguinte interface: void jogar(); int face(); Use a classe Dado para estimar a probabilidade de, em 10 jogadas, 5 ou mais vezes tenha se obtido a face “6”. Como você já sabe, Math.random() retorna um número pseudo-randômico na faixa [0,1). 10) Faça um programa que, dada a data atual (dd mm aaaa) e a data de nascimento de uma pessoa (dd mm aaaa), calcule sua idade.