Linguagens e Programação II Departamento de Engenharia Informática Sem Consulta 2º Mini-Teste - A - Novembro 2004 Duração: 20 m Número :__________ Nome: _________________________________________________ 1. Considere a seguinte definição da classe Mensagem, o que imprime? public class Mensagem { private String mensagem = “Adeus”; public void getMensagem() { String mensagem = “Olá”; int tamanho = 25; System.out.println(this.mensagem); } public static void main (String[] args) { Mensagem m1 = new Mensagem(); m1.getMensagem(); } } a) b) c) d) Olá. Adeus. O código não compila/executa. Não produz qualquer saída. 2. Qual das seguintes opções poderia ser um método de um interface? a) b) c) d) double public double public getSaldo(); getSaldo(); getSaldo() {return saldo;} getSaldo() {return saldo;} 3. Considere o segmento de código seguinte, o que será imprimido se no bloco try ocorrer uma excepção do tipo EOFException? try{...} catch(EOFException e) { System.out.println(“Erro_1”);} catch(Exception e) { System.out.println(“Erro_2”);} a) b) c) d) Erro_1 Erro_2 Erro_1 e Erro_2 Não imprime nada. 4. Qual a afirmação correcta: a) b) c) d) Uma classe não pode implementar duas interfaces Uma classe pode derivar outra classe e implementar várias interfaces Para implementar uma interface uma classe tem que usar a palavra reservada getInterface Uma classe abstracta e uma interface têm as mesmas características 5. Para poder escrever num ficheiro podemos utilizar as seguintes classes: a) b) c) d) FileOutputStream RandomAccessFile e FileOutputStream FileOutputStream e FileInputStream FileInputStream e FileWriter 6. O que acontece quando tenta compilar e executar o seguinte código ? Linguagens e Programação II Departamento de Engenharia Informática 2º Mini-Teste public class MyVector{ private int var; public MyVector(int x) { var = x; } public void escreve() { System.out.println(var); } public static void main(String args[]) { Object [] vec = new Object[4]; vec[0] = new MyVector(3); vec[0].escreve(); } } a) b) c) d) - A - Novembro 2004 Erro de compilação na instrução Object [] vec = new Object[4]; Compila e executa imprimindo o valor 3 Erro em tempo de compilação na instrução vec[0].escreve(); A classe compila mas gera um erro em tempo de execução 7. Se colocar as seguintes instruções no início do código de uma classe: package Util; import java.io.*; a) b) c) d) Importa a biblioteca java.io, e define um novo package Util; Refere que a classe importa a package Util; Faz o import de todas as classes do package java.util; Dá erro de compilação 8. Considere a classe Leitura das aulas práticas: class Leitura { public static int lerInteiro(String msg) throws IOException { // ... } // ... } O que aconteceria se tentasse executar o seguinte código: public static void main(String msg) throws IOException { int x; x = Leitura.lerInteiro(); System.out.println(x); } a) b) c) d) Se a string lida fosse “a” geraria a excepção IOException Se a string lida fosse “a” geraria a excepção NumberFormatException O código não compila porque não existe throws NumberFormatException O código não compila porque não existe um bloco try/catch 9. Quais das seguintes instruções poderiam aparecer numa interface? a) b) c) d) public final static int LEFT = 1; private int left = 1; public double value = 2.3; int value = 3; 10. De forma a construir uma classe correctamente que implemente uma interface é necessário: a) b) c) d) Implementar os métodos especificados pela interface Fazer o import da interface Usar a palavra-chave getInterface na classe Utilizar a instrução de package adequada.