Pular para o conteúdo

Serviço de Seleção do Pessoal da Marinha · Marinha do Brasil 2024

Questão 1 — Programação: Java — Membros Estáticos e de Instância

Programação Java — Membros Estáticos e de Instância

Serviço de Seleção do Pessoal da Marinha 2024

Marinha do Brasil · Processamento de Dados · Caderno Amarela

Gabarito disponível

Analise o código abaixo.

public class Somador
{
public final int numero = 0;
public static int inteiro = 0;

public static void soma (int parametro)
{
Somador.inteiro = parametro + Somador.inteiro;
}
public int adicionaUm(int parametro)
{
return parametro +1;
}

public static void main(String[] args)
{
Somador somador = new Somador();
//local de alteração
System.out.printf("%d", Somador.inteiro );

}
}

Analise a opção que poderá substituir o texto "//local de alteração", presente no código acima, para que seja exibido o número 1 ao ser executado.
Selecione uma alternativa

Resolução comentada

Chamar o método estático soma passando o resultado de adicionaUm(numero) altera inteiro para 1.

Em B, somador.adicionaUm(somador.numero) retorna 0+1 = 1, e Somador.soma(1) faz inteiro = 1 + 0 = 1. O printf então exibe 1.

Análise das alternativas

A) Errada: adicionaUm não é estático e não pode ser chamado por Somador, e soma retorna void. C) Errada: numero é final (não pode receber atribuição) e não é estático, e soma retorna void. D) Errada: soma retorna void, então não pode ser atribuído a inteiro. E) Errada: o retorno de adicionaUm é descartado e inteiro continua 0.

Referência: Java — membros estáticos, de instância e final.

Resolução comentada do VaiConcursos.

Ver gabarito

Gabarito: B

Fonte: Gabarito preliminar: Gabarito final CP-CAP 2024 — página 20