Você está dando manutenção em um sistema que dada uma string que contém varios itens separados por vírgula, o sistema escreve a string em ordem inversa separada por virgula.
Se o código é :
string ascendente = "0,1,2,3,4,5,6,7,8,9,10";
string[] cadaNumero = ascendente.Split(',');
var descendente = new System.Text.StringBuilder();
for (int i = cadaNumero.Length - 1; i >= 0; i--){
descendente.Append(cadaNumero[i]);
descendente.Append(',');
}
string resultadoFinal = descendente.ToString();
resultadoFinal = resultadoFinal.Remove(resultadoFinal.Length);
Console.WriteLine(resultadoFinal);
Ao executar o compilador emite um erro de SystemOutOfRange que significa que em algum ponto do seu código você tentou acessar um elemento de uma matriz numa posição que não existe.
e que o método Remove(x) de uma string remove um caracter na posição x, o que deve ser alterado no código para que ele funcione corretamente ?
Escolha uma opção:
a. Alterar “string ascendente” para “string[] ascendente”.
b. Alterar “string resultadoFinal = descendente.ToString();” para “string resultadoFinal = descendente.ToString(-1);”.
c. Alterar “int i = cadaNumero.Length - 1; i >= 0; i--)” para “int i = cadaNumero.Length ; i >= 0; i--)”.
d. Alterar “resultadoFinal = resultadoFinal.Remove(resultadoFinal.Length);” para “resultadoFinal = resultadoFinal.Remove(resultadoFinal.Length - 1);.
e. Alterar “Console.WriteLine(resultadoFinal); “ para “Console.WriteLine(resultadoFinal - 1);”.
Respostas
respondido por:
7
Resposta:
d. Alterar “resultadoFinal = resultadoFinal.Remove(resultadoFinal.Length);” para “resultadoFinal = resultadoFinal.Remove(resultadoFinal.Length - 1);.
Explicação:
d. Alterar “resultadoFinal = resultadoFinal.Remove(resultadoFinal.Length);” para “resultadoFinal = resultadoFinal.Remove(resultadoFinal.Length - 1);.
Perguntas similares
3 anos atrás
3 anos atrás
3 anos atrás
5 anos atrás
7 anos atrás
7 anos atrás