Harjoitus – Palauta luvut menetelmistä
- 10 minuuttia
Saatat usein joutua palauttamaan lukuja menetelmistä ja käyttämään tuloksia muissa tehtävissä. Tässä lyhyessä harjoituksessa harjoittelet palauttamista int ja double tietotyyppejä sekä palautusarvojen sieppaamista.
Kokonaisluvun palauttavan metodin luominen
Oletetaan, että vierailet Vietnamissa ja haluat luoda lyhyen ohjelman, joka muuntaa valuuttaa. Voit olettaa, että nykyinen valuuttakurssi on 1 USD = 23500 VND. Tässä tehtävässä kirjoitat metodin, joka muuntaa USD:n VND:ksi.
Poista Visual Studio Code -editorissa aiemmin luotu koodi edellisistä harjoituksista.
Kirjoita seuraava koodi Visual Studio Code Editoriin:
double usd = 23.73; int vnd = UsdToVnd(usd); Console.WriteLine($"${usd} USD = ${vnd} VND"); int UsdToVnd(double usd) { }Tässä vaiheessa alustat kaksi muuttujaa USD- ja VND-arvojen tallentamista varten. Huomaa, että
vndalustetaan menetelmänUsdToVndtulokseen. Metodi palauttaa kokonaislukuarvon, koska VND esitetään tyypillisesti kokonaislukuina. Valuuttamuunnoksen tulosten näyttämiseen käytetään.Console.WriteLineSeuraavaksi lisäät koodin muuntamista varten. Päivitä
UsdToVndseuraavalla koodilla:int UsdToVnd(double usd) { int rate = 23500; return (int) (rate * usd); }Jos jätät striimauksen pois palautustuloksesta, näet seuraavan virheen:
Cannot implicitly convert type 'double' to 'int'.Tämä johtuu siitä, että kääntäjä yrittää lähettää palautetun arvon vastaamaan metodin allekirjoituksessa määritettyä tietotyyppiä. Implisiittinen casting on kuitenkin käytettävissä vain, jos muunnoksen seurauksena ei tapahdu tietojen menetystä. Palautusarvon on aina vastattava metodin allekirjoituksessa määritettyä tietotyyppiä, joten tässä tapauksessa tulos on suoritettava.
Avaa tarvittaessa Visual Studio Coden Integroitu pääte -paneeli.
Kirjoita Pääte-komentokehotteeseen dotnet run ja vertaa tulostasi seuraaviin:
$23.73 USD = $557655 VNDJos koodisi näyttää odottamattomia tuloksia, sinun on tarkistettava koodisi löytääksesi virheesi ja tehdäksesi päivityksiä. Suorita koodi uudelleen, jotta näet, oletko korjannut ongelman. Jatka koodin päivittämistä ja suorittamista, kunnes koodisi tuottaa odotetut tulokset.
Luo metodi, joka palauttaa kaksoisarvon
Seuraavaksi luot menetelmän VND:n muuntamiseksi takaisin USD:ksi.
Luo uusi tyhjä koodirivi menetelmän
UsdToVndloppuun.Anna seuraava koodi:
double VndToUsd(int vnd) { }Päivitä
VndToUsdseuraavalla koodilla:double VndToUsd(int vnd) { double rate = 23500; return vnd / rate; }Tässä tapauksessa sinun on
rateoltava adoubletai muuten kääntäjä käyttää kokonaislukujakoa ja palauttaa katkaistunintarvon. USD on esitettävä desimaaliluvulla.Jos asetat
ratearvoksi senintsijaandouble, huomaat, että kääntäjä ei aiheuta sinulle virheitä. Tämä johtuu siitä, että arvovnd / rateon implisiittisesti muunnettu metodin allekirjoituksessa määritettyyndoubletietotyyppiin. Kun luot menetelmiä, jotka palauttavat numeerisia arvoja, on tärkeää ottaa huomioon menetelmän suorittamien toimintojen tietotyypit.Etsi puhelu
Console.WriteLineja liitä uusi tyhjä koodirivi. Syötä sitten seuraava koodi kutsuaksesi uutta menetelmäämme ja tulostaaksesi tulosteen:Console.WriteLine($"${vnd} VND = ${VndToUsd(vnd)} USD");
Tarkista työsi
Tässä tehtävässä suoritat sovelluksemme integroidusta päätteestä ja varmistat, että koodisi toimii oikein. Aloitetaan nyt.
Vertaa koodia seuraaviin varmistaaksesi, että se on oikein:
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; }Tallenna työsi painamalla Ctrl + S tai Visual Studio Code File -valikon avulla.
Avaa tarvittaessa Visual Studio Coden Integroitu pääte -paneeli.
Avaa EXPLORER-paneelin TestProject-kansion sijainnissa Terminal napsauttamalla hiiren kakkospainikkeella TestProjectja valitsemalla sitten Avaa Integroidussa päätteessä -.
Kirjoita Terminal-komentokehotteeseen dotnet run
Varmista, että koodisi tuottaa seuraavan tulosteen:
$23.73 USD = $557655 VND $557655 VND = $23.73 USDJos koodisi näyttää eri tuloksia, sinun on tarkistettava koodisi löytääksesi virheesi ja tehdäksesi päivityksiä. Suorita koodi uudelleen, jotta näet, oletko korjannut ongelman. Jatka koodin päivittämistä ja suorittamista, kunnes koodisi tuottaa odotetut tulokset.