Para as questões a seguir, responda verdadeiro ou falso.
s1 = s1.concat(".suf");
Responda as questões a seguir tendo em conta o seguinte diagrama UML e o código Java que (em princípio) o implementa:
![]() |
class A { private int x; boolean z; } public class B extends A { private int y; public void set(int a, int b) { x = a; y = b; } } |
Para que o programa abaixo funcione, algumas modificações são necessárias nas linhas em destaque. Apresente as modificações realizadas e descreva o que o programa (após corrigido) apresentaria na tela para a linha de execução "java ContaL ab cde fgh"
1 class ContaL { 2 static final int size; 3 public static void main(String[] args) { 4 int i = 0; 5 int[] a; 6 size = args.length(); 7 a = new int[size]; 8 while(i < size) { 9 a[i] = args[i].length; 10 ++i; 11 } 12 for(i=1; i<=size; ++i) 13 System.out.println(args[i]+": "+a[i]); 14 } 15 }
Considere o seguinte programa Java que recebe um argumento inteiro na linha de comando e apresenta na tela sua representação binária e hexadecimal:
1 public class BinRepres { 2 public static void main(String[] args) { 3 Integer m = new Integer(args[0]); 4 int value = m.intValue(); 5 String binario = m.toBinaryString(value); 6 String hexadec = Integer.toHexString(value); 7 System.out.println("[ 2] " + binario); 8 System.out.println("[16] " + hexadec); 9 } 10 }
Considerando as seguintes definições de objetos,
String s1 = new String("A"); String s2 = new String("A");
Para a seguinte classe e procedimento,
1 public class Y { 2 int x; 3 public Y() { x = 0; } 4 public void set(int i) { x = i; } 5 public static void main(String[] args) { 6 final Y o1 = new Y(); 7 o1.set(10); 8 o1 = new Y(); 9 } 10 }
Justifique se você concorda ou não com as seguintes afirmações:
Suponha que duas classes sejam definidas como
class ApBase implements Listener class ApDeriv extends ApBase implements Enumeratione duas variáveis são definidas:
ApBase aBase = new ApBase(); Object obj = aBase;
Para cada atribuição abaixo, indique se há ou não erro; se houver erro, indique se é de compilação ou de execução. Justifique suas respostas.
Listener ln = obj;
Listener ln = (Listener) obj;
Enumeration en = (Enumeration) obj;
Dada a seguinte definição de classe:
public class Derived extends Base { int r, s, t; public Derived(int x, int y) { r = x; s = y; } public Derived(int x) { super(x); } }
Quais as assinaturas dos construtores que devem existir na classe
Base
? Justifique.
Exceções relacionadas a índices de arranjos e de string pertencem à seguinte hierarquia:
Exception | +-- RuntimeException | +--IndexOutOfBoundsException | +-- ArrayIndexOutOfBoundsException | +-- StringIndexOutOfBoundsException
Suponha que um método X
manipule arranjos e
strings sem especificar nenhum bloco
try-catch
. Indique se as afirmações a seguir são
verdadeiras ou falsas, justificando suas respostas:
X
deve obrigatoriamente
incluir a sentença throws ArrayIndexOutOfBoundsException, StringIndexOutOfBoundsException
X
captura a exceção
IndexOutOfBoundsException
, ambos tipos de exceção
para arranjos e strings são capturadas.
O método a seguir cria vários objetos Integer
durante sua
execução:
1 public void contagemRegressiva( ) { 2 for (int i=10; i>=0; i--) { 3 Integer tmp = new Integer(i); 4 // algum processamento usando tmp 5 } 6 System.out.println("Kabum!"); 7 }
Quantos objetos Integer
estarão disponíveis para o
garbage collector caso ele entre em execução após a
criação do quarto objeto Integer? E caso ele venha a executar
quando o método estiver na linha 6?
Considerando a seguinte definição de classe, responda às questões que seguem:
01 public class Teste { 02 String enunciado; 03 String[] opcoes; 04 int alternativaCorreta; 05 public void Teste(String e, String[] opcoes, int correto) { 06 enunciado = e; 07 this.opcoes = opcoes; 08 alternativaCorreta = correto; 09 } 10 public void show() { 11 System.out.println(enunciado); 12 for (int i=0; i < opcoes.length; ++i) 13 System.out.println(opcoes[i]); 14 System.out.println(">> " + opcoes[alternativaCorreta]); 15 } 16 public static void main(String[] args) { 17 String s = "Qual e a musica?"; 18 Teste t = new Teste(s,args,args.length); 19 t.show(); 20 } 21 }
Uma expressão condicional tem a forma B?X:Y, onde B é uma expressão booleana e X e Y são expressões quaisquer. Se B for verdadeira, o resultado da expressão condicional é o resultado da expressão X; caso contrário, o resultado é o de Y. A execução do seguinte trecho de um método, no qual j, k e m são variáveis do tipo int,
if(j==0?k<1:m>=1) System.out.println(k<1? "AA" : "BB"); else System.out.println(m<1? "CC" : "DD");
obteve como resultado de uma execução a mensagem CC impressa na tela. Indique qual combinação de valores de j, k e m, respectivamente, pode ter gerado essa situação. Assinale todas as possibilidades corretas:
(a) 0, 0, 0 (b) 0, 1, 0 (c) 1, 0, 1 (d) 0, 1, 1 (e) 1, 1, 0
Para as questões a seguir, assinale verdadeiro ou falso considerando a definição da classe Anom abaixo.
1 class Anom { 2 private int x; 3 private static int y; 4 public Anom(int y) { this.y = y; } 5 public int f() { return y; } 6 public static void main(String[] args) { 7 Anom a = new Anom(1); 8 x = a.f(); 9 } 10 }
Para as questões a seguir, selecione a resposta correta (das opções entre colchetes) para cada afirmação considerando a definição das classes abaixo.
1 class Fulan { 2 protected int a; 3 public int conta() { ++a; return 1; } 4 } 5 class Beltran extends Fulan { 6 private int b; 7 public int conta() { ++a; ++b; return 2; } 8 } 9 class Sicran { 10 public static void main(String[] args) { 11 XXXX obj = new YYYY(); 12 System.out.println(obj.conta()); 13 } 14 }
Quais das seguintes afirmações sobre as interfaces java.util.List e java.util.SortedMap são corretas?
O novo framework de coleções de Java introduz novas classes e interfaces na API Java padrão. Das opções a seguir, quais representam interfaces?
Qual das classes a seguir no novo framework de coleções de Java está mais próxima à classe Vector?
Qual a diferença entre java.util.Collection e java.util.Collections?
Um objeto da classe histórica Hashtable pode armazenar e recuperar referências a objetos baseados em objetos "chaves" associados. Qual das interfaces a seguir é implementada por Hashtable?
Explique como seria possível criar um objeto do tipo TreeSet com um conteúdo que não pode ser modificado por outras classes que o utilizem. O que acontece nesse caso se os métodos de modificação (como add e remove) forem invocados?
Que ações são tomadas pelo sistema de arquivos quando o código a seguir é executado e o objeto myFile é criado? Assuma que name representa o nome de um arquivo, incluindo um caminho válido, que não existe no momento:
File createFile(String name) { File myFile = new File(name); return myFile; }
Quais das seguintes afirmações sobre a saída padrão System.out são corretas?
Quais dos objetos a seguir não poderiam ser utilizados no construtor de um objeto DataInputStream?
Quais das classes a seguir não são classes abstratas ou interfaces?
© Ivan Luiz Marques Ricarte
DCA/FEEC/UNICAMP