Questão nº 32

Questão de Tecnologia da Informação · FCC PGE-AM 2022 (nº 32)

FCC2022Técnico em Gestão Procuratorial - Especialidade Engenharia de SoftwareTecnologia da Informação
Gabarito: Ever comentário ↓

Considere a classe abaixo.

public class Exemplo1 {

    public static void main(String[] args) {
        int[] vet = {78, 89, 90, 34, 32, 56};
        int[] dados = verificar(vet);
    }

    I
    {
        int a, b, x, t, max;
        max = vet.length;
        for (a = 0; a <= max - 1; a++) {
            for (b = 0; b <= max - a; b++) {
                if (b < max - 1) {
                    if (vet[b] > vet[b + 1]) {
                        x = vet[b];
                        vet[b] = vet[b + 1];
                        vet[b + 1] = x;
                    }
                }
            }
        }
        return vet;
    }
}

A assinatura correta do método que deve ser colocada na lacuna I é

Resposta comentada

Gabarito Alternativa E

Em Java, um método static pertence à classe e pode ser chamado diretamente sem criar um objeto dela, enquanto um método não static (ou de instância) precisa de um objeto para ser invocado. O método `main` é sempre `static`, então para ele chamar outro método da mesma classe diretamente, esse outro método também precisa ser `static`.

(A) Incorreta: O método `verificar` não é `static`, o que impede que seja chamado diretamente do método `main` (que é `static`) sem a criação de um objeto da classe `Exemplo1`.
(B) Incorreta: Similar à alternativa A, o método não é `static`, impedindo sua chamada direta de `main`. Além disso, o modificador `private` restringiria o acesso, mas o problema principal é a ausência de `static`.
(C) Incorreta: O tipo de retorno está incorreto; o método retorna um array de inteiros (`int[]`), não um único inteiro (`int`), conforme indicado pelo `return vet;` e a variável `dados` que recebe o retorno.
(D) Incorreta: Tanto o tipo de retorno quanto o tipo do parâmetro estão incorretos (deveriam ser arrays de inteiros, `int[]`, e não um único inteiro, `int`). Também falta o modificador `static`.
(E) Correta: A assinatura `public static int[] verificar(int vet[])` está correta porque: `public` permite acesso geral; `static` é necessário para que o método seja chamado diretamente de `main` (que é `static`) sem criar um objeto; `int[]` é o tipo de retorno correto, pois o método retorna um array de inteiros; e `(int vet[])` é o tipo de parâmetro correto, recebendo um array de inteiros.

Fonte: FCC PGE-AM 2022 Técnico em Gestão Procuratorial - Especialidade Engenharia de Software (Caderno Tipo 001). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho