연습 - 메서드에서 숫자 반환
- 10분
메서드에서 숫자를 반환하고 다른 작업에 해당 결과를 사용해야 하는 경우가 많습니다. 이 간단한 연습에서는 int 및 double 데이터 형식을 반환하고 반환 값을 캡처하는 작업을 연습합니다.
정수를 반환하는 메서드 만들기
베트남을 방문하는 동안 통화를 변환하는 간단한 프로그램을 만들고 싶다고 가정해 보겠습니다. 현재 환율이 1 USD = 23500 VND라고 가정합니다. 이 작업에서는 USD를 VND로 변환하는 메서드를 작성합니다.
Visual Studio Code 편집기에서 이전 연습의 기존 코드를 모두 삭제합니다.
Visual Studio Code 편집기에 다음 코드를 입력합니다.
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }이 단계에서는 USD 및 VND 값을 저장하기 위해 두 개의 변수를 초기화합니다.
vnd는UsdToVnd메서드의 결과로 초기화됩니다. VND는 일반적으로 정수로 표현되므로 메서드는 정수 값을 반환합니다. 통화 변환 결과를 표시하기 위해Console.WriteLine이 사용됩니다.다음으로, 변환을 수행하는 코드를 추가합니다.
UsdToVnd메서드를 다음 코드로 업데이트합니다.int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }반환 결과에서 캐스트를 생략하면 다음 오류가 표시됩니다.
Cannot implicitly convert type 'double' to 'int'.이 오류는 컴파일러가 메서드 서명에 지정된 데이터 형식과 일치하도록 반환된 값을 캐스팅하려고 하기 때문에 발생합니다. 그러나 암시적 캐스팅은 변환 결과로 발생하는 데이터 손실이 없는 경우에만 사용할 수 있습니다. 반환 값은 항상 메서드 서명에 지정된 데이터 형식과 일치해야 하므로 이 경우 결과를 캐스팅해야 합니다.
필요한 경우 Visual Studio Code의 통합 터미널 패널을 엽니다.
터미널 명령 프롬프트에서 dotnet run을 입력하고 출력을 다음과 비교합니다.
$23.73 USD = $557655 VND코드가 예상과 다른 결과를 표시하는 경우 코드를 검토하여 오류를 찾고 업데이트해야 합니다. 코드를 다시 실행하여 문제가 해결되었는지 확인합니다. 코드가 예상 결과를 생성할 때까지 코드를 계속 업데이트하고 실행합니다.
double을 반환하는 메서드 만들기
다음으로, VND를 USD로 다시 변환하는 메서드를 만듭니다.
UsdToVnd메서드 끝에 새 빈 코드 줄을 만듭니다.다음 코드를 입력합니다.
double VndToUsd(int vnd) { }VndToUsd메서드를 다음 코드로 업데이트합니다.double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }이 경우
rate가double이어야 합니다. 그렇지 않으면 컴파일러가 정수 나눗셈을 사용하고 잘린int값을 반환합니다. USD는 10진수로 표시되어야 합니다.rate를int대신double로 설정하면 컴파일러가 오류를 표시하지 않는 것을 알 수 있습니다. 이는vnd / rate의 값이 메서드 서명에 지정된double데이터 형식으로 암시적으로 캐스팅되기 때문입니다. 숫자 값을 반환하는 메서드를 만들 때는 메서드가 수행하는 작업에서 데이터 형식을 고려하는 것이 중요합니다.Console.WriteLine호출을 찾아 새 빈 코드 줄을 뒤에 추가합니다. 그런 다음, 메서드를 호출하고 출력을 인쇄하는 다음 코드를 입력합니다.Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
작업 확인
이 작업에서는 통합 터미널에서 애플리케이션을 실행하고 코드가 올바르게 작동하는지 확인합니다. 이제 시작하겠습니다.
코드를 다음과 비교하여 올바른지 확인합니다.
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; }Ctrl + S를 사용하거나 Visual Studio Code 파일 메뉴를 사용하여 작업을 저장합니다.
필요한 경우 Visual Studio Code의 통합 터미널 패널을 엽니다.
탐색기 패널에서 TestProject 폴더 위치에서 터미널을 열려면 TestProject를 마우스 오른쪽 단추로 클릭한 다음 통합 터미널에서 열기를 선택합니다.
터미널 명령 프롬프트에서 dotnet run을 입력합니다.
코드가 다음 출력을 생성하는지 확인합니다.
$23.73 USD = $557655 VND $557655 VND = $23.73 USD코드가 다른 결과를 표시하는 경우 코드를 검토하여 오류를 찾고 업데이트해야 합니다. 코드를 다시 실행하여 문제가 해결되었는지 확인합니다. 코드가 예상 결과를 생성할 때까지 코드를 계속 업데이트하고 실행합니다.