Exercício – Retornar números de métodos
- 10 minutos
É preciso retornar os números dos métodos e utilizar os resultados para outras tarefas. Neste breve exercício, você praticará o retorno de tipos de dados int e double 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 converte moeda. Você pode presumir que a taxa de câmbio atual é 1 USD = 23500 VND. Nesta tarefa, você criará um método que converte USD em VND.
No Editor do Visual Studio Code, exclua todo o código existente dos exercícios anteriores.
Insira o código de exemplo a seguir no Editor do Visual Studio Code:
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é inicializada para o resultado do métodoUsdToVnd. O método retorna um valor inteiro, pois o 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 método
UsdToVndpelo seguinte código:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Se você omitir a conversão do resultado de retorno, verá o seguinte erro:
Cannot implicitly convert type 'double' to 'int'.Isso ocorre porque o compilador tenta converter o valor retornado para corresponder ao tipo de dados especificado na assinatura do método. No entanto, a conversão implícita só estará disponível quando não houver perda de dados como resultado da conversão. O valor retornado sempre deve 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 Terminal, insira dotnet run e compare a saída com o seguinte:
$23.73 USD = $557655 VNDSe o código exibir resultados inesperados, você precisará examinar 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 o código até que ele produza os resultados esperados.
Criar um método que retorna um duplo
Em seguida, você criará um método para converter o VND de volta em USD.
Crie uma nova linha de código em branco no final do método
UsdToVnd.Insira o seguinte código:
double VndToUsd(int vnd) { }Atualize o método
VndToUsdpelo seguinte código:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }Nesse caso, você precisa que
rateseja umdouble, caso contrário, o compilador usará a divisão inteira e retornará um valorinttruncado. O USD precisa ser representado por um número decimal.Se você definir
ratecomo umintem vez dedouble, observará que o compilador não apresenta erros. Isso acontece porque o valor devnd / rateé implicitamente convertido para o tipo de dadosdoubleespecificado na assinatura do método. Ao criar métodos que retornam valores numéricos, é importante considerar os tipos de dados nas operações executadas pelo método.Localize a chamada para
Console.WriteLinee acrescente uma nova linha de código em branco. Em seguida, insira o seguinte código para chamar nosso novo método e imprimir a saída:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Verificar seu trabalho
Nesta tarefa, você executará nosso aplicativo no Terminal Integrado e verificará se o código está funcionando corretamente. Vamos começar.
Compare o código com o seguinte para garantir que ele esteja 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 o trabalho usando Ctrl + S ou usando o menu Arquivo no Visual Studio Code.
Se necessário, abra o painel Terminal Integrado do Visual Studio Code.
No painel EXPLORER, para abrir o 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 Terminal, insira 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 exibir resultados diferentes, você precisará examinar 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 o código até que ele produza os resultados esperados.