Prévia do material em texto
ATIVIDADE 4 - ESOFT - PROGRAMAÇÃO DE SISTEMAS II - 54/2021
Período:06/12/2021 08:00 a 20/12/2021 23:59 (Horário de Brasília)
Status:ABERTO
Nota máxima:1,00
Gabarito:Gabarito será liberado no dia 21/12/2021 00:00 (Horário de Brasília)
Nota obtida:
1ª QUESTÃO
Sobre o conceito de Encapsulamento da Orientação a Objetos, analise as afirmações:
I - Uma de suas funções é de controlar o acesso aos atributos e métodos de uma classe.
II - Tem por objetivo criar objetos mais específicos de objetos mais genéricos.
III - Tem por objetivo separar o programa em partes.
IV - Torna o software complexo de atualizar, dificulta a criação de novas implementações.
V - Representa uma forma eficiente de proteger os dados manipulados dentro da classe, além de determinar
onde a mesma poderá ser modificada.
Associe a cada afirmação acima (V) para sentença 'Verdadeira' e (F) para sentença 'Falsa'. Em seguida,
assinale a alternativa que contempla a sequência correta.
ALTERNATIVAS
V F V F V
V F V V V
V F F F V
F F V F F
F V F F V
2ª QUESTÃO
Analise o código Java a seguir e, depois, responda ao que é solicitado.
public class Bottom2{
public static void main(String
args){
diaSemana(3);
}
public static void diaSemana(int i){
switch(i){
case 1:{
System.out.println("Segunda ");
}
case 2:{
System.out.println("Terça ");
}
case 3:{
System.out.println("Quarta ");
}
case 4:{
System.out.println("Quinta ");
}
case 5:{
System.out.println("Sexta ");
}
case 6:{
System.out.println("Sábado ");
}
case 7:{
System.out.println("Domingo ");
}
default:{
System.out.println("Desconhecido");
}
}
}
}
Marque a alternativa correta.
ALTERNATIVAS
Ao executar o código a saída será "Quarta " escrito em tela.
O código não irá compilar pois o método principal está chamando um método "static".
Ao executar o código a saída será "Quarta Quinta Sexta Sábado Domingo " escrito em tela.
Ao executar o código a saída será "Quarta Quinta Sexta Sábado Domingo Desconhecido" escrito em tela.
Ao executar o código a saída será "Segunda Terça Quarta Quinta Sexta Sábado Domingo " escrito em tela.
3ª QUESTÃO
Analise o seguinte código Java e, depois, atenda ao que é solicitado.
class Empregado {
private int codigo;
private String nome;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
public class Principal{
public static void main(String
args){
//Inserir aqui
}
}
Marque a alternativa que, adicionando o código abaixo da linha "Inserir aqui", irá instanciar e definir o
atributo nome para classe Empregado.
ALTERNATIVAS
Empregado.setNome("João");
Empregado emp = new Empregado("João");
Empregado emp = new Empregado().setNome("João");
Empregado emp = new Empregado(emp.setNome("João"));
Empregado emp = new Empregado(); emp.setNome("João");
4ª QUESTÃO
Considerando a linguagem Java, marque a alternativa que representa uma estrutura de repetição que
permite que um conjunto de instruções não seja executado nenhuma vez.
ALTERNATIVAS
if
case
while
break
do ... while
5ª QUESTÃO
Analise o trecho de código a seguir e, depois, responda ao que é solicitado.
class Dog { }
class Beagle extends Dog { }
class Kennel{
public static void main(String
args){
Beagle b1 = new Beagle();
Dog dog1 = new Dog();
Dog dog2 = b1;
//insira o código aqui
}
}
Qual opção, inserida no lugar do comentário "insira o código aqui", irá compilar e executar com sucesso o
programa Java? Assinale a alternativa correta.
ALTERNATIVAS
Beagle b2 = (Beagle)dog1;
Beagle b3 = (Beagle)dog2;
Beagle b4 = dog2;
Beagle b5 = dog1;
Beagle b6 = new Dog();
6ª QUESTÃO
Até a versão do Java 7, uma das formas de adicionar funcionalidade a um botão criado com a biblioteca
swing era criando uma classe anônima de ActionListener.
Veja um trecho de código que exemplifica isso:
JButton botao = new JButton();
botao.addActionListener ( new ActionListener() {
public void actionPerformed(ActionEvent evt) {
System.out.println(“Click no botão”);
}
});
Esse trecho de código faz o programa mostrar uma mensagem quando o usuário clica no botão.
Considerando o código exemplo, marque a alternativa que mostra como a classe anônima poderia ser
substituída por uma expressão lambda introduzida no Java 8.
ALTERNATIVAS
botao.addActionListener( "Click no botão" );
botao.addActionListener( -> "Click no botão" );
botao.addActionListener( () -> "Click no botão" );
botao.addActionListener( System.out.println("Click no botão") );
botao.addActionListener( (evt) -> System.out.println("Click no botão") );
7ª QUESTÃO
Analise o código Java a seguir e, depois, atenda ao que é solicitado.
interface Operacoes {
public double somar(double v1, double v2);
public double subtrair(double v1, double v2);
}
class Calculadora implements Operacoes {
@Override
public double somar(double v1, double v2) {
return v1 + v2;
}
@Override
public double subtrair(double v1, double v2) {
return v1 - v2;
}
}
public class Principal{
public static void main(String
args){
//Inserir aqui
System.out.println(""+op.somar(2.0,2.0));
System.out.println(""+op.subtrair(2.0,2.0));
}
}
Marque a alternativa que contém o código aplicado na linha abaixo de "Inserir aqui" que fará o programa
executar sem erro.
ALTERNATIVAS
Operacoes op = new Operacoes();
Operacoes op = new Calculadora();
Calculadora op = new Operacoes();
Operacoes op = create Operacoes();
Operacoes op = create Calculadora();
8ª QUESTÃO
Em Java, um dos modificadores que se pode utilizar na declaração de classes, métodos, atributos e
parâmetros é o modificador final. Em cada um desses contextos, ele tem um significado diferente. Veja um
exemplo:
public class JogoAnagrama {
private int qtdErros = 0;
private int qtdAcertos = 0;
//Outros atributos
//Construtores
public final int getQtdAcertos(){
return qtdAcertos;
}
//Outros métodos
}
Considerando o modificador final na declaração do método getQtdAcertos(), marque a alternativa correta.
ALTERNATIVAS
O modificador final nesse contexto indica que o método não pode ser sobrecarregado.
O método getQtdAcertos() apenas está acessível para subclasses da classe JogoAnagrama.
O método getQtdAcertos() só pode ser usado por classes que estão no mesmo pacote que a classe JogoAnagrama.
Nesse contexto, o modificador final indica que o método getQtdAcertos() não é visível para subclasse da classe
JogoAnagrama.
O modificador final nesse contexto indica que o método getQtdAcertos() não pode ser sobrescrito em subclasses de
JogoAnagrama.
9ª QUESTÃO
Na linguagem Java, qual trecho de código a seguir executará exatamente 20 vezes. Marque a alternativa
correta.
ALTERNATIVAS
for (int i = 0; i > 20; i--)
for (int i = 0; i < 40; i = i + 2)
for (int i = 20; i > 1; i--)
for (int i = 0; i <= 20; i++)
for (int i = 41; i > 0; i = i - 2)
10ª QUESTÃO
Com o JDK 9, podemos usar o JShell para executar comandos Java isolados sem a obrigatoriedade de criar
uma classe. Suponha que um programador, para conhecer o comportamento dos métodos Collections.sort()
e Collections.reverse(), executou as seguintes instruções em sequência no JShell:
List<Integer> lista = Arrays.asList(1, 2, 10, 6, 7);
Collections.sort(lista);
Collections.reverse(lista);System.out.println(lista);
Assinale a alternativa que apresenta o resultado que será impresso na tela pela última instrução.
ALTERNATIVAS
1, 2, 6, 7, 10
1, 10, 2, 6, 7
10, 7, 6, 2, 1
1, 2, 10, 6, 7
10, 1, 2, 6, 7