Metodien tekeminen Javalla

Samankaltaiset tiedostot
Metodien tekeminen Javalla

Javan perusteet. Ohjelman tehtävät: tietojen syöttö, lukeminen prosessointi, halutun informaation tulostaminen tulostus tiedon varastointi

Olio-ohjelmointi Javalla

Metodit. Metodien määrittely. Metodin parametrit ja paluuarvo. Metodien suorittaminen eli kutsuminen. Metodien kuormittaminen

Kompositio. Mikä komposition on? Kompositio vs. yhteyssuhde Kompositio Javalla Konstruktorit set-ja get-metodit tostring-metodi Pääohjelma

Ohjelmointi Tunnilla 1 (5) Viikko 7 tuntitehtäviä: metodien tekeminen Javalla

Taulukoiden käsittely Javalla

Mikä yhteyssuhde on?

Rajapinta (interface)

public static void main (String [] args)

Listarakenne (ArrayList-luokka)

Periytyminen (inheritance)

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

YHTEYSSUHDE (assosiation)

1. Kun käyttäjä antaa nollan, niin ei tulosteta enää tuloa 2. Hyväksy käyttäjältä luku vain joltain tietyltä väliltä (esim tai )

8. Näppäimistöltä lukeminen 8.1

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

8. Näppäimistöltä lukeminen 8.1

Java-kielen perusteita

Java-kielen perusteet

Luokka Murtoluku uudelleen. Kirjoitetaan luokka Murtoluku uudelleen niin, että murtolukujen sieventäminen on mahdollista.

Java-kielen perusteita

Luokan muodostimet (Constructors)

Java-kielen perusteet

KOHDELUOKAN MÄÄRITTELY

Poikkeustenkäsittely

Lista luokan sisällä

20. Javan omat luokat 20.1

Sisällys. 20. Javan omat luokat. Java API. Pakkaukset. java\lang

17. Javan omat luokat 17.1

Luokan sisällä on lista

Ohjelmoinnin jatkokurssi, kurssikoe

Vahva koostumussuhde (Composition)

Sisällys. 12. Näppäimistöltä lukeminen. Yleistä. Yleistä

Tietorakenteet. JAVA-OHJELMOINTI Osa 5: Tietorakenteita. Sisällys. Merkkijonot (String) Luokka String. Metodeja (public)

JAVA-PERUSTEET. JAVA-OHJELMOINTI 3op A JAVAN PERUSTEET LYHYT KERTAUS JAVAN OMINAISUUKSISTA JAVAN OMINAISUUKSIA. Java vs. C++?

Taulukot. Taulukon määrittely ja käyttö. Taulukko metodin parametrina. Taulukon sisällön kopiointi toiseen taulukkoon. Taulukon lajittelu

12. Näppäimistöltä lukeminen 12.1

Ohjelmointi 2 / 2010 Välikoe / 26.3

Merkkien ja merkkijonojen käsittelyä Javalla

1. Omat operaatiot 1.1

on ohjelmoijan itse tekemä tietotyyppi, joka kuvaa käsitettä

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Standardi- ja tietorakenneluokkia

2. Lisää Java-ohjelmoinnin alkeita. Muuttuja ja viittausmuuttuja (1/4) Muuttuja ja viittausmuuttuja (2/4)

Taulukot. Taulukon käsittely. Tämän osan sisältö. Esimerkki. Taulukon esittely ja luonti. Taulukon alustaminen. Taulukon koko

List-luokan soveltamista. Listaan lisääminen Listan läpikäynti Listasta etsiminen Listan sisällön muuttaminen Listasta poistaminen Listan kopioiminen

Tehtävä 1. Tehtävä 2. Arvosteluperusteet Koherentti selitys Koherentti esimerkki

Mitä poikkeuskäsittely tarkoittaa?

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

7. Näytölle tulostaminen 7.1

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Luokat ja oliot. Ville Sundberg

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

11. Javan valintarakenteet 11.1

Sisällys. 1. Omat operaatiot. Yleistä operaatioista. Yleistä operaatioista

A) on käytännöllinen ohjelmointitekniikka. = laajennetaan aikaisemmin tehtyjä luokkia (uudelleenkäytettävyys)

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Poikkeukset ja tietovirrat: Virhetilanteiden ja syötevirtojen käsittely

9. Periytyminen Javassa 9.1

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Taulukot & Periytyminen

Java kahdessa tunnissa. Jyry Suvilehto

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

14. Poikkeukset 14.1

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

7. Oliot ja viitteet 7.1

1 Tehtävän kuvaus ja analysointi

Ohjelmointi 2, välikoe

14. Poikkeukset 14.1

Vertailulauseet. Ehtolausekkeet. Vertailulauseet. Vertailulauseet. if-lauseke. if-lauseke. Javan perusteet 2004

4. Luokan testaus ja käyttö olion kautta 4.1

11. Javan valintarakenteet 11.1

Olion elinikä. Olion luominen. Olion tuhoutuminen. Olion tuhoutuminen. Kissa rontti = null; rontti = new Kissa();

Taulukot. Jukka Harju, Jukka Juslin

19. Olio-ohjelmointia Javalla 19.1

9. Periytyminen Javassa 9.1

Sisällys. 19. Olio-ohjelmointia Javalla. Yleistä. Olioiden esittely ja alustus

Java-kielen perusteita

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. Metodien kuormittaminen. Luokkametodit ja -attribuutit. Rakentajat. Metodien ja muun luokan sisällön järjestäminen. 6.2

2. Olio-ohjelmoinista lyhyesti 2.1

Ohjelmoinnin perusteet, kurssikoe

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

Javan GUI Scratchaajalle

16. Javan omat luokat 16.1

Java-kielen perusteet

Ohjelmointitaito (ict1td002, 12 op) Kevät Java-ohjelmoinnin alkeita. Tietokoneohjelma. Raine Kauppinen

Sisältö. 2. Taulukot. Yleistä. Yleistä

ITKP102 Ohjelmointi 1 (6 op)

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op. Tietorakenneluokkia 2: HashMap, TreeMap

Javan perusteita. Janne Käki

Ohjelmistotekniikan menetelmät, koe

String-vertailusta ja Scannerin käytöstä (1/2) String-vertailusta ja Scannerin käytöstä (2/2) Luentoesimerkki 4.1

Sisältö. 22. Taulukot. Yleistä. Yleistä

Ohjelmointi 2 / 2008 Välikoe / Pöytätestaa seuraava ohjelma.

Lauseet. Ehdollinen lause. Tämän osan sisältö. Ehdollinen lause. Esimerkkejä. Yksinkertainen ehto. Lohkosulut ja sisennys. Ehdollinen lause if

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

17. Javan omat luokat 17.1

Java-kielen perusteet

Transkriptio:

1 Metodien tekeminen Javalla Mikä metodi on? Metodin syntaksi Metodi ja sen kutsuminen Parametreista Merkkijonot ja metodi Taulukot ja metodi 1 Mikä metodi on? Metodilla toteutetaan luokkaan toiminnallisuutta. Metodi on koodipätkä, joka suorittaa jonkin tehtävän. String nimi = "Javaa helposti "; int pituus = nimi.length(); int length() String luokkaan koodattu metodi, joka kertoo merkkijonon pituuden Ohjelmassa voidaan käyttää muiden tekemiä tai itse tehtyjä metodeja. 2

2 metodia käytetään ilman oliota Metodin syntaksi metodi palauttaa tiedon return-lauseella näkyvyys static tyyppi metodinnimi (tyyppi param1, tyyppi param2) { lauseita; return arvo; parametreilla metodiin tuodaan tietoa metodin ulkopuolelta näkyvyys static void metodinnimi (tyyppi param1, tyyppi param2) { lauseita; metodi ei palauta mitään, metodissa ei ole return-lausetta metodin näkyvyys muille luokille public metodi näkyy kaikille luokille private metodi näkyy vain kyseisen luokan metodeille puuttuu metodi näkyy samassa paketissa oleville luokille 3 Metodi ja sen kutsuminen public class AsunnonMyynti { public static double kysymyyntihinta() { metodi palauttaa tiedon public static double laskepalkkio(double myyntihinta) { Tee ohjelma, joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavan välityspalkkion. metodi ottaa vastaan tiedon (parametrin) public static void main(string[] args) { double myyntihinta, palkkio; kutsutaan metodia myyntihinta = kysymyyntihinta(); palkkio = laskepalkkio(myyntihinta); DecimalFormat f = new DecimalFormat("0.00"); System.out.println("Summa on "+ f.format(palkkio+ myyntihinta)); metodille välitetään tieto eli parametri 4

3 Tee metodi, joka kysyy asunnon myyntihinnan. metodi palauttaa desimaaliuvun public static double kysymyyntihinta() { metodin paikalliset double myyntihinta; muuttujat ovat olemassa Scanner input = new Scanner(System.in); vain metodin suoritusajan System.out.print("Anna asunnon myyntihinta: "); myyntihinta = input.nextdouble(); return myyntihinta; metodi palauttaa return-lauseella metodista ulos desimaaliluvun myyntihinta = kysymyyntihinta(); 5 metodin palauttaa return-lauseella desimaaliluvun Metodi saa metodin ulkopuolelta desimaaliluvun, eli metodille tulee parametrina desimaaliluku public static double laskepalkkio(double myyntihinta) { final double PALKKIO = 3.44; final double MINPALKKIO = 2214.00; double palkkio = myyntihinta * (PALKKIO / 100.0); if (palkkio < MINPALKKIO) { palkkio = MINPALKKIO; return palkkio; Tee metodi, joka laskee asunnon myyntihinnasta maksettavan välityspalkkion. Välityspalkkion on 3,44% myyntihinnasta ja minimissään 2214 euroa. palkkio = laskepalkkio(myyntihinta); metodille välitettävä parametri 6

4 public class PienellaSuurella { metodi palauttaa merkkijonon public static String kysyteksti(string kehote) { metodi ei palauttaa mitään Metodi ja merkkijono metodi ottaa vastaan merkkijonon Tee ohjelma, jolla voidaan valita, näytetäänkö annettu teksti suurilla vai pienillä kirjaimilla. metodi ottaa vastaan kaksi merkkijonoa public static void naytateksti(string teksti, String nayttaminen){ public static void main(string[] args) { String teksti, nayttaminen; teksti = kysyteksti("kirjoita teksti: "); nayttaminen = kysyteksti("suurella vai pienellä: ") naytateksti(teksti, nayttaminen); 7 Metodi kysyy ja palauttaa merkkijonon. Parametrina annetaan teksti, mikä näytetään käyttäjälle, ennen syötteen lukemista. metodi palauttaa merkkijonon metodi saa parametrina merkkijonon public static String kysyteksti(string kehote) { Scanner input = new Scanner(System.in); System.out.print(kehote); String teksti = input.nextline(); return teksti; metodi palauttaa return-lauseella metodista ulos merkkijonon teksti = kysyteksti("kirjoita teksti: "); metodille välitettävä parametri 8

5 metodi ei palauta mitään, koska metodin tyyppi on void Metodi näyttää annetun merkkijono suurella tai pienellä kirjoitettuna. Ensimmäinen parametri on näytettävä merkkijono ja toinen parametri kertoo, näytetäänkö teksti suurella vai pienellä. metodi ottaa vastaan kaksi parametria public static void naytateksti(string teksti, String nayttaminen) { final String PIENELLA = "pienellä", SUURELLA = "suurella"; if (nayttaminen.equals(pienella)) { teksti = teksti.tolowercase(); else if (nayttaminen.equals(suurella)) { teksti = teksti.touppercase(); System.out.println("Teksti on " + teksti); naytateksti(teksti, nayttaminen); metodille välitetään kaksi parametria 9 Parametreista Metodi ei voi muuttaa parametria, jos se on perustietotyyppiä (int, double, boolean, char) tai String. Metodi kopioi itselleen kutsussa olleen parametrin arvon, joten metodi käyttää kopiota parametrista. Metodi muuttaa siis kopiota ei kutsussa ollutta parametria. Metodi voi muuttaa parametria, jos se on taulukko tai olio. Metodi voi muuttaa taulukoita, joissa on lukuja ja merkkijonoja. Metodi voi muuttaa taulukkoa, koska metodiin välitetään taulukon viite eli tieto, missä taulukko on muistissa. 10

6 public class Kayttajanlotto { Metodi ja taulukko public static void kysylotto(int [] numerot ) { public static void naytalotto(int [] numerot ) { Tee ohjelma, joka kysyy lottorivin. metodi ottaa vastaan taulukon public static void main(string[] args) { int[] numerot; int lkm; Scanner input = new Scanner(System.in); System.out.print("Montako numeroa annat (7-10): "); lkm = input.nextint(); numerot = new int[lkm]; kysylotto(numerot); naytalotto(numerot); metodille välitetään parametrina taulukko 11 Metodi kysyy lottonumerot. Parametri on taulukko, mihin numerot kysytään. metodi ei palauta mitään, koska metodin tyyppi on void taulukko voidaan viedä parametrina, koska metodi pystyy muuttamaan taulukkoa (oliota) public static void kysylotto(int [] numerot) { int numero; Scanner input = new Scanner(System.in); for (int i = 0; i < numerot.length; i++) { System.out.print("Anna " + (i+1) + " lottonumerosi: "); numero = input.nextint(); numerot[i] = numero; kysylotto (numerot); metodille välitetään parametrina taulukko 12

7 Metodi näyttää annetun lottorivin. Parametri on taulukko, missä lottonumerot on. public static void naytalotto(int [] numerot ) { Arrays.sort(numerot); System.out.print("Rivisi oli "); for (int i = 0; i < numerot.length; i++) { System.out.print(numerot[i] + " "); naytalotto (numerot); metodille välitetään parametrina taulukko 13