Pular para o conteúdo principal

Questão de TI - Desenvolvimento de Sistemas — Códigos em Java — CESGRANRIO 2023

TI - Desenvolvimento de SistemasCódigos em Java
Código
cg057576
Banca
CESGRANRIO
Órgão
TRANSPETRO
Ano
2023
Cargo
PTNS ( )

Deseja-se escrever um método Java que inverta a ordem dos caracteres existentes em um array recebido como parâmetro, conforme exemplificado na Figura a seguir.

 

Array antes da
chamada do método

abcdefg

Array após a
chamada do método

gfedcba

Esse método receberá como parâmetros o array a ser invertido e o índice do primeiro elemento do array, devendo funcionar com arrays de quaisquer comprimentos, inclusive com os de comprimentos iguais a zero.


Qual método executa essa inversão da ordem dos caracteres de acordo com as especificações apresentadas?

  1. Apublic static void inverte(char [] vet, int i) {             int m=vet.length / 2;             if(i < m)                       return;             inverte(vet, i+1);             char aux=vet[i];             vet[i]=vet[vet.length - i - 1];             vet[vet.length - i - 1] = aux;     }
  2. Bpublic static void inverte(char [] vet, int i) {            for ( ; i <= vet.length; i++) {                           char aux=vet[i];                           vet[i]=vet[vet.length - i - 1];                            vet[vet.length - i - 1] = aux;            }   }
  3. Cpublic static void inverte(char [] vet, int i) {            do {                         char aux=vet[i];                         vet[i]=vet[vet.length - i - 1];                         vet[vet.length - i - 1] = aux;                         i++;              } while (i < vet.length);     }
  4. Dpublic static void inverte(char [] vet, int i) {            int m=vet.length / 2;             do {                      char aux=vet[i];                      vet[i]=vet[vet.length - i - 1];                      vet[vet.length - i - 1] = aux;                       i++;            } while (i < m);      }
  5. Epublic static void inverte(char [] vet, int i) {           int m=vet.length / 2;           if(i == m)                       return;          char aux=vet[i];          vet[i]=vet[vet.length - i - 1];         vet[vet.length - i - 1] = aux;          inverte(vet, i+1);    }
Revelar gabarito e comentário

GabaritoE — public static void inverte(char [] vet, int i) {           int m=vet.length / 2;           if(i == m)                       return;          char aux=vet[i];          vet[i]=vet[vet.length - i - 1];         vet[vet.length - i - 1] = aux;          inverte(vet, i+1);    }

Link permanente: /questoes/cg057576