Ejercicio: Devolver números de métodos
- 10 minutos
A menudo, es posible que tenga que devolver números de métodos y usar los resultados para otras tareas. En este breve ejercicio, practicará la devolución de los tipos de datos int y double y la captura de los valores devueltos.
Crear un método que devuelva un entero
Supongamos que visita Vietnam y quiere crear un breve programa de conversión de divisa. Supongamos que el tipo de cambio actual es 1 USD = 23500 VND. En esta tarea, escribirá un método que convierta USD en VND.
En el Editor de Visual Studio Code, elimine cualquier código existente de los ejercicios anteriores.
En el Editor de Visual Studio Code, escriba el código siguiente:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }En este paso, inicializa dos variables para almacenar los valores USD y VND. Observe que
vndse inicializa en el resultado del métodoUsdToVnd. El método devuelve un valor entero, ya que VND se representa normalmente en números enteros. Para mostrar los resultados de la conversión de divisa, se usaConsole.WriteLine.A continuación, agregará código para realizar la conversión. Actualice el método
UsdToVndcon el código siguiente:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Si omite la conversión del resultado devuelto, verá el siguiente error:
Cannot implicitly convert type 'double' to 'int'.Esto sucede porque el compilador intenta convertir el valor devuelto para que coincida con el tipo de datos especificado en la firma del método. Sin embargo, la conversión implícita solo está disponible cuando no se produce ninguna pérdida de datos como resultado de la conversión. El valor devuelto siempre debe coincidir con el tipo de datos especificado en la firma del método, por lo que, en este caso, debe convertir el resultado.
Si es necesario, abra el panel del terminal integrado de Visual Studio Code.
En el símbolo del sistema del terminal, escriba dotnet run y compare la salida con la siguiente:
$23.73 USD = $557655 VNDSi el código muestra resultados inesperados, deberá revisarlo y realizar las actualizaciones correspondientes. Vuelva a ejecutar el código para ver si ha corregido el problema. Continúe actualizando y ejecutando el código hasta que genere los resultados esperados.
Crear un método que devuelva un valor doble
A continuación, creará un método para volver a convertir VND en USD.
Cree una nueva línea de código en blanco al final del método
UsdToVnd.Escriba el siguiente código:
double VndToUsd(int vnd) { }Actualice el método
VndToUsdcon el código siguiente:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }En este caso, necesita que
ratesea un valordoubleo, de lo contrario, el compilador usará la división de enteros y devolverá un valorinttruncado. USD debe representarse mediante un número decimal.Si establece
rateeninten lugar dedouble, observará que el compilador no le presenta ningún error. Esto sucede porque el valor devnd / ratese convierte implícitamente en el tipo de datosdoubleespecificado en la firma del método. Al crear métodos que devuelven valores numéricos, es importante tener en cuenta los tipos de datos de las operaciones que realiza el método.Busque la llamada a
Console.WriteLiney anexe una nueva línea de código en blanco. A continuación, escriba el código siguiente para llamar a nuestro nuevo método e imprimir la salida:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Comprobar el trabajo
En esta tarea, ejecutará nuestra aplicación desde el terminal integrado y comprobará que el código funciona correctamente. Empecemos.
Compare su código con el siguiente para asegurarse de que es correcto:
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; }Guarde el trabajo con Ctrl + S o use el menú "Archivo" de Visual Studio Code.
Si es necesario, abra el panel del terminal integrado de Visual Studio Code.
En el panel EXPLORADOR, para abrir un terminal en la ubicación de la carpeta TestProject, haga clic con el botón derecho en TestProject y, luego, seleccione Abrir en el terminal integrado.
En el símbolo del sistema del terminal, escriba dotnet run.
Compruebe que el código genera la salida siguiente:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDSi el código muestra resultados diferentes, deberá revisarlo para encontrar el error y realizar las actualizaciones correspondientes. Vuelva a ejecutar el código para ver si ha corregido el problema. Continúe actualizando y ejecutando el código hasta que genere los resultados esperados.