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