Imagem de fundo

Deseja-se escrever um método Java que inverta a ordem dos caracteres existentes em um a...

Questão 24

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?

A

public 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;

}

B

public 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;

}

}

C

public 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);

}

D

public 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);

}

E

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);

}