Você está na página 1de 7

Instituio : Faculdade Alvorada Curso : Bacharel em Sistema de Informao Disciplina : Linguagem de Programao II Java Doscente : Wilton Marinho Turma

a : 3B Discente: Jos Augusto Monteiro Lima LISTA DE EXERCCIOS (REVISO PARA PROVA) 1) Considere o seguinte cdigo em Java:

1> import java.io.*; 2> private class teste12 { 3> public static void main(String args[]) { 4> System.out.println("OLA"); 5> } 6> } a) Dar erro na linha 2 porque falta a especificao do package. b) Compilar normal e rodar normal. c) Compilar normal e dar exception ao rodar. d) Dar erro de compilao. 2) Considere o seguinte cdigo do arquivo teste13.java:

Nome do arquivo: teste13.java -------------------------1> import java.io.*; 2> public class Teste { 3> char _29382938232932; 4> public static void main(String args[]) { 5> System.out.println("OLA"); 6> } 7> public int $main() { 8> return 2; 9> } 10> } a) Dar erro de compilao por uso de palavra reservada. b) Est com erro de sintaxe nas linhas 2 e 3. c) Compilar e rodar sem problemas. d) Haver um erro de compilao sem ser por uso de palavra reservada. 3) Analise o cdigo Java e diga qual linhas dariam erro:

Arquivo: teste41.java -------------------------1> public class teste41 { 2> public static void main(String args[]) { 3> byte z = 126; 4> byte a = 0; 5> a += z; 6> float x = 12.5; 7> char v = z + a; 8> } 9> }

Resposta: Dar erro na linha 12, pois ser necessrio fazer o cast, e na linha 7 pois a converso de bytes para char ser invlida. 4) Desenvolva uma classe "Retangulo" e uma classe "Quadrado", com os seguintes requisitos: A classe "Retangulo" possui propriedades base e altura; A classe "Quadrado" uma subclasse de "Retangulo" e possui um mtodo chamado obterLado() que retorna o seu comprimento (base ou altura); A classe "Retangulo" possui a implementao dos mtodos area() e perimetro(), que so herdados automaticamente pela classe Quadrado. Crie instncias das classes Quadrado e Retangulo e execute seus mtodos area() e perimetro(), imprimindo seus resultados. rea= lado*lado; Permetro = 4* lado; package Areas; public class Retangulo { double base; double altura; double novaArea; public double area(double x, double y){ double area; area = base * altura; return area; } public double perimetro(double x){ double perimetro; perimetro = 4 * altura; return perimetro; } } public class Quadrado extends Retangulo{ public double obterLado(double lado){ double ladoQuad = lado; return ladoQuad; } } public class Aplicacao { public static void main(String[] args) { Retangulo novoRet = new Retangulo(); Quadrado novoQuad = new Quadrado(); novoRet.altura = 28; novoRet.base = 15;

novoQuad.base = novoQuad.obterLado(novoRet.altura); novoQuad.altura = novoQuad.obterLado(novoRet.altura); System.out.println("Area Retangulo = " + novoRet.area(novoRet.altura, novoRet.base)); System.out.println("Perimetro Retangulo = " + novoRet.perimetro(novoRet.base)); System.out.println("Area Quadrado = " + novoQuad.area(novoQuad.altura, novoQuad.base)); System.out.println("Perimetro Quadrado = " + novoQuad.perimetro(novoQuad.base)); } } 5) Desenvolva uma classe Crculo: que tenha a propriedade raio; tenha mtodos area() e perimetro(); instancie dois crculos com propriedades diferentes e imprima o resultado da invocao do mtodo area() e perimetro() em cada um;

implemente um mtodo esttico denominado 'maior', que receba 2 instncias de Crculo e que
retorne true se o primeiro crculo for maior que o segundo e false se o primeiro for menor ou igual ao segundo crculo. public class Circulo { double raio; double pi = 3.1415926535897932384626433832795; public double area(double a){ double area; return area = pi*(a*a); } public double perimetro(double a){ double perimentro; return perimentro = 2*pi*a; } } public class Aplicacao { public static void main(String[] args) { Circulo circulo01 = new Circulo(); Circulo circulo02 = new Circulo(); circulo01.raio = 15; circulo02.raio = 5; System.out.println("Area 1 circulo = " + circulo01.area(circulo01.raio)); System.out.println("Perimetro 1 circulo = " + circulo01.perimetro(circulo01.raio));

System.out.println(); System.out.println("Area 2 circulo = " + circulo02.area(circulo02.raio)); System.out.println("Perimetro 2 circulo = " + circulo02.perimetro(circulo02.raio)); System.out.println(); System.out.println(maior(circulo01.raio, circulo02.raio)); } public static boolean maior(double c1, double c2){ boolean retorno = false; if (c1 > c2){ retorno = true; } else if (c1 <= c2){ retorno = false; } return retorno; } } 6) Crie uma classe chamada Aluno com a estrutura definida a seguir:

Implemente esta classe com os atributos listados acima e com os mtodos conforme definio: cadastrar > mtodo responsvel em receber os valores correspondentes e inicializar os atributos da classe Aluno. mostrarDados > mtodo responsvel em imprimir na tela todos os atributos da classe Aluno public class Aluno { String nome; String endereco; char sexo; int idade; public void cadastrar(){ nome = "Jose Augusto"; endereco = "Qno 18 Conjunto 24 Casa 07"; sexo = 'M'; idade = 35; } public void mostrarDados(){ System.out.println("Nome = " + nome); System.out.println("Endereco = " + endereco); System.out.println("Sexo = " + sexo); System.out.println("Idade = " + idade); } }

public class Aplicacao { public static void main(String[] args) { Aluno aluno01 = new Aluno(); aluno01.cadastrar(); aluno01.mostrarDados(); } }

7) Considere a classe Pessoa. Cada objeto desta classe tem como atributos um nome, um nmero de
contribuinte e uma idade. Implemente esta classe em Java tendo em conta os mtodos seletores e modificadores discutidos em aula (Mtodos get e set).

public class Pessoa { private String nome; private long contribuinte; private byte idade; public void setNome(String nome) { this.nome = nome; } public String getNome() { return nome; } public void setContribuinte(long contribuinte) { this.contribuinte = contribuinte; } public long getContribuinte() { return contribuinte; } public void setIdade(byte idade) { this.idade = idade; } public byte getIdade() { return idade; } } public class Aplicacao { public static void main(String[] args) { Pessoa newPessoa = new Pessoa(); newPessoa.setNome("Jos Augusto"); newPessoa.setContribuinte(05641777);

newPessoa.setIdade((byte) 35); System.out.println("Nome = " + newPessoa.getNome()); System.out.println("Contribuinte = " + newPessoa.getContribuinte()); System.out.println("Idade = " + newPessoa.getIdade()); } } 8) Faa uma classe Funcionario para receber, opcionalmente, o nome do Funcionario durante a criao do objeto. Utilize construtores para obter esse resultado. Dica: utilize um construtor sem argumentos tambm, para o caso de a pessoa no querer passar o nome do Funcionario public class Funcionarios { String nome; Funcionarios(){} Funcionarios(String novoNome){ nome = novoNome; } } public class Aplicacao { public static void main(String[] args) { Funcionarios novoFuncionarios = new Funcionarios("Jose Augusto"); System.out.println(novoFuncionarios.nome); } } 9) D exemplos do uso do conceito de polimorfismo, em Java. public class Conta { String numConta; double saldoConta; public void depositar(double deposito){ saldoConta = saldoConta + deposito; } } public class Saque extends Conta { public void sacar(double valor){ saldoConta = saldoConta - valor; }} public class Aplicacao {

public static void main(String[] args) { Conta depositoExtra = new Saque(); depositoExtra.depositar(150); System.out.println("Meu Extra = " + depositoExtra.saldoConta); } } 10) D exemplos do uso do conceito de encapsulamento, em Java. public class Saldo { private double meuSaldo; public double getMeuSaldo() { return meuSaldo; } public void setMeuSaldo(double meuSaldo) { this.meuSaldo = meuSaldo; } } public class Aplicacao { public static void main(String[] args) { Saldo novoSaldo = new Saldo(); novoSaldo.setMeuSaldo(1500.0); System.out.println("Meu saldo = " + novoSaldo.getMeuSaldo()); } }