Exercício - Números de retorno dos métodos
- 10 minutos
Muitas vezes, talvez seja necessário retornar números de métodos e usar os resultados para outras tarefas. Neste breve exercício, você praticará o retorno int e double os tipos de dados e a captura dos valores de retorno.
Criar um método que retorna um inteiro
Suponha que você esteja visitando o Vietnã e queira criar um breve programa que converta moeda. Você pode supor que a taxa de câmbio atual é 1 USD = 23500 VND. Nesta tarefa, você escreverá um método que converte USD em VND.
No Editor de Códigos do Visual Studio, exclua qualquer código existente dos exercícios anteriores.
Insira o seguinte código no Editor de Códigos do Visual Studio:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }Nesta etapa, você inicializa duas variáveis para armazenar os valores USD e VND. Observe que
vndé inicializado para o resultado do métodoUsdToVnd. O método retorna um valor inteiro, uma vez que VND é normalmente representado em números inteiros. Para exibir os resultados da conversão de moeda,Console.WriteLineé usado.Em seguida, você adicionará código para executar a conversão. Atualize o
UsdToVndmétodo com o seguinte código:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Se você omitir a transmissão do resultado de retorno, verá o seguinte erro:
Cannot implicitly convert type 'double' to 'int'.Isso acontece porque o compilador tenta converter o valor retornado para corresponder ao tipo de dados especificado na assinatura do método. No entanto, a transmissão implícita só está disponível quando não há perda de dados como resultado da conversão. O valor de retorno deve sempre corresponder ao tipo de dados especificado na assinatura do método, portanto, nesse caso, você deve converter o resultado.
Se necessário, abra o painel Terminal integrado do Visual Studio Code.
No prompt de comando do Terminal, digite dotnet run e compare sua saída com o seguinte:
$23.73 USD = $557655 VNDSe o código apresentar resultados inesperados, terá de rever o código para encontrar o erro e fazer atualizações. Execute o código novamente para ver se você corrigiu o problema. Continue atualizando e executando seu código até que seu código produza os resultados esperados.
Criar um método que retorna um duplo
Em seguida, você criará um método para converter VND de volta para USD.
Crie uma nova linha de código em branco no final do
UsdToVndmétodo.Introduza o seguinte código:
double VndToUsd(int vnd) { }Atualize o
VndToUsdmétodo com o seguinte código:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }Nesse caso, você precisa
rateser umdoubleou então o compilador usa divisão inteira e retorna um valor truncadoint. USD precisa ser representado por um número decimal.Se você definir
ratecomo umintem vez dedouble, notará que o compilador não apresenta erros. Isso acontece porque o valor de é implicitamente convertido para ovnd / ratetipo de dados especificado na assinatura dodoublemétodo. Ao criar métodos que retornam valores numéricos, é importante considerar os tipos de dados nas operações que seu método executa.Localize a chamada e
Console.WriteLineacrescente uma nova linha de código em branco. Em seguida, digite o seguinte código para chamar nosso novo método e imprimir a saída:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Verifique o seu trabalho
Nesta tarefa, irá executar a nossa aplicação a partir do Terminal Integrado e verificar se o seu código está a funcionar corretamente. Vamos começar.
Compare o seu código com o seguinte para garantir que está correto:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD"); int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); } double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }Salve seu trabalho usando Ctrl + S ou usando o menu Arquivo de código do Visual Studio.
Se necessário, abra o painel Terminal integrado do Visual Studio Code.
No painel EXPLORER, para abrir um Terminal no local da pasta TestProject, clique com o botão direito do mouse em TestProject e selecione Abrir no Terminal Integrado.
No prompt de comando do Terminal, digite dotnet run
Verifique se o código produz a seguinte saída:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDSe o código apresentar resultados diferentes, terá de rever o código para encontrar o erro e fazer atualizações. Execute o código novamente para ver se você corrigiu o problema. Continue atualizando e executando seu código até que seu código produza os resultados esperados.