Questão de TI - Desenvolvimento de Sistemas — Códigos em Java — CESGRANRIO 2023
- 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
| a | b | c | d | e | f | g |
Array após a
chamada do método
| g | f | e | d | c | b | a |
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?
- 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; }
- 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; } }
- 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); }
- 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); }
- 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); }