Ćwiczenie — zwracanie liczb z metod
- 10 min
Często może być konieczne zwrócenie liczb z metod i użycie wyników dla innych zadań. W tym krótkim ćwiczeniu przećwiczyć będziesz zwracanie int i double typy danych oraz przechwytywanie zwracanych wartości.
Tworzenie metody zwracającej liczbę całkowitą
Załóżmy, że odwiedzasz Wietnam i chcesz utworzyć krótki program, który konwertuje walutę. Możesz założyć, że bieżący kurs wymiany to 1 USD = 23500 VND. W tym zadaniu napiszesz metodę, która konwertuje USD na VND.
W edytorze programu Visual Studio Code usuń dowolny istniejący kod z poprzednich ćwiczeń.
Wprowadź następujący kod w edytorze programu Visual Studio Code:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }W tym kroku zainicjujesz dwie zmienne do przechowywania wartości USD i VND. Zwróć uwagę, że
vndelement jest inicjowany do wyniku metodyUsdToVnd. Metoda zwraca wartość całkowitą, ponieważ VND jest zwykle reprezentowana w liczbach całkowitych. Aby wyświetlić wyniki konwersji waluty,Console.WriteLinejest używany.Następnie dodasz kod, aby wykonać konwersję. Zaktualizuj metodę
UsdToVndprzy użyciu następującego kodu:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Jeśli pominięto rzutowanie z wyniku zwracanego, zostanie wyświetlony następujący błąd:
Cannot implicitly convert type 'double' to 'int'.Dzieje się tak, ponieważ kompilator próbuje rzutować wartość zwróconą w celu dopasowania do typu danych określonego w podpisie metody. Jednak niejawne rzutowanie jest dostępne tylko wtedy, gdy w wyniku konwersji nie ma utraty danych. Wartość zwracana musi zawsze być zgodna z typem danych określonym w podpisie metody, więc w tym przypadku należy rzutować wynik.
W razie potrzeby otwórz panel zintegrowany terminal programu Visual Studio Code.
W wierszu polecenia terminalu wprowadź polecenie dotnet run i porównaj dane wyjściowe z następującymi elementami:
$23.73 USD = $557655 VNDJeśli kod wyświetla nieoczekiwane wyniki, musisz przejrzeć kod, aby znaleźć błąd i wprowadzić aktualizacje. Uruchom ponownie kod, aby sprawdzić, czy problem został rozwiązany. Kontynuuj aktualizowanie i uruchamianie kodu, dopóki kod nie generuje oczekiwanych wyników.
Tworzenie metody zwracającej podwójne
Następnie utworzysz metodę konwersji VND z powrotem na USD.
Utwórz nowy pusty wiersz kodu na końcu
UsdToVndmetody.Wprowadź następujące kod:
double VndToUsd(int vnd) { }Zaktualizuj metodę
VndToUsdprzy użyciu następującego kodu:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }W takim przypadku musisz
ratebyć elementemdoublelub w przeciwnym razie kompilator używa dzielenia całkowitego i zwraca obciętąintwartość. USD musi być reprezentowana przez liczbę dziesiętną.Jeśli ustawiono
rateintwartość zamiastdouble, zauważysz, że kompilator nie przedstawia żadnych błędów. Dzieje się tak, ponieważ wartośćvnd / rateelementu jest niejawnie rzutowana nadoubletyp danych określony w podpisie metody. Podczas tworzenia metod, które zwracają wartości liczbowe, należy wziąć pod uwagę typy danych w operacjach wykonywanych przez metodę.Znajdź wywołanie metody
Console.WriteLinei dołącz nowy pusty wiersz kodu. Następnie wprowadź następujący kod, aby wywołać nową metodę i wyświetlić dane wyjściowe:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Sprawdź swoją pracę
W tym zadaniu uruchomisz naszą aplikację z poziomu zintegrowanego terminalu i sprawdzisz, czy kod działa poprawnie. Zaczynajmy.
Porównaj kod z następującymi elementami, aby upewnić się, że jest on poprawny:
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; }Zapisz swoją pracę przy użyciu Ctrl + S lub za pomocą menu Plik programu Visual Studio Code.
W razie potrzeby otwórz panel zintegrowany terminal programu Visual Studio Code.
W panelu EKSPLORATOR, aby otworzyć terminal w lokalizacji folderu TestProject, kliknij prawym przyciskiem myszy pozycję TestProject, a następnie wybierz polecenie Otwórz w zintegrowanym terminalu.
W wierszu polecenia terminalu wprowadź polecenie dotnet run
Sprawdź, czy kod generuje następujące dane wyjściowe:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDJeśli kod wyświetla różne wyniki, musisz przejrzeć kod, aby znaleźć błąd i wprowadzić aktualizacje. Uruchom ponownie kod, aby sprawdzić, czy problem został rozwiązany. Kontynuuj aktualizowanie i uruchamianie kodu, dopóki kod nie generuje oczekiwanych wyników.