Ć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.
Sprawdź swoją wiedzę
Opinia
Czy ta strona była pomocna?
Nie
Potrzebujesz pomocy dotyczącej tego tematu?
Chcesz spróbować użyć asystenta Ask Learn, aby wyjaśnić ten temat lub uzyskać instrukcje, które go dotyczą?