Metodien tekeminen Javalla

Samankaltaiset tiedostot
Metodien tekeminen Javalla

Taulukoiden käsittely Javalla

Merkkien ja merkkijonojen käsittelyä Javalla

Olio-ohjelmointi Javalla

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

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

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

Mikä yhteyssuhde on?

Listarakenne (ArrayList-luokka)

public static void main (String [] args)

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

YHTEYSSUHDE (assosiation)

Periytyminen (inheritance)

Rajapinta (interface)

Java-kielen perusteet

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

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

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

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 )

Lista luokan sisällä

Luokan muodostimet (Constructors)

Java-kielen perusteita

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

Java-kielen perusteet

KOHDELUOKAN MÄÄRITTELY

Java-kielen perusteita

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

20. Javan omat luokat 20.1

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

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

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

17. Javan omat luokat 17.1

Luokan sisällä on lista

Poikkeustenkäsittely

Ohjelmointi 2 / 2010 Välikoe / 26.3

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

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

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

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

Ohjelmoinnin jatkokurssi, kurssikoe

1. Omat operaatiot 1.1

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

Luokat ja oliot. Ville Sundberg

Mitä poikkeuskäsittely tarkoittaa?

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

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

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

1 Tehtävän kuvaus ja analysointi

Vahva koostumussuhde (Composition)

11. Javan valintarakenteet 11.1

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

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

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

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

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

7. Näytölle tulostaminen 7.1

Java kahdessa tunnissa. Jyry Suvilehto

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

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

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

14. Poikkeukset 14.1

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

7. Oliot ja viitteet 7.1

Java-kielen perusteet

Ohjelmointi 2, välikoe

14. Poikkeukset 14.1

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

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

11. Javan valintarakenteet 11.1

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

9. Periytyminen Javassa 9.1

Taulukot. Jukka Harju, Jukka Juslin

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

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

Java-kielen perusteita

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

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

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

Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko metodin parametrina. Taulukko ja HelloWorld-ohjelma. Ta

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

Javan GUI Scratchaajalle

16. Javan omat luokat 16.1

19. Olio-ohjelmointia Javalla 19.1

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

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

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

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

9. Periytyminen Javassa 9.1

Ohjelmoinnin perusteet, kurssikoe

815338A Ohjelmointikielten periaatteet Harjoitus 5 Vastaukset

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

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

ITKP102 Ohjelmointi 1 (6 op)

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

17. Javan omat luokat 17.1

812341A Olio-ohjelmointi Peruskäsitteet jatkoa

Javan perusteita. Janne Käki

Rinnakkaisohjelmointi, Syksy 2006

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 Metodin syntaksi metodi palauttaa tiedon return-lauseella näkyvyys tyyppi metodinnimi (tyyppi param1, tyyppi param2) lauseita; return arvo; parametreilla metodiin tuodaan tietoa metodin ulkopuolelta näkyvyys 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 double kysymyyntihinta() { metodi palauttaa tiedon Tee ohjelma, joka kysyy asunnon myyntihinnan ja laskee asunnon myynnistä maksettavan välityspalkkion. metodi ottaa vastaan tiedon (parametrin) public double laskepalkkio(double myyntihinta) { public static void main(string[] args) { AsunnonMyynti ohjelma = new Ohjelma(); double myyntihinta, palkkio; myyntihinta = ohjelma.kysymyyntihinta(); palkkio = ohjelma.laskepalkkio(myyntihinta); DecimalFormat f = new DecimalFormat("0.00"); kutsutaan metodia System.out.println("Summa on " + f.format(summa)); metodille välitetään tieto eli parametri luodaan luokasta olio, jolla voidaan kutsua metodia 4

3 Tee metodi, joka kysyy asunnon myyntihinnan. metodi palauttaa desimaaliuvun public 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 = ohjelma.kysymyyntihinta(); 5 metodin palauttaa return-lauseella desimaaliluvun Metodi saa metodin ulkopuolelta desimaaliluvun, eli metodille tulee parametrina desimaaliluku public 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 = ohjelma.laskepalkkio(myyntihinta); metodille välitettävä parametri 6

4 public class PienellaSuurella { metodi palauttaa merkkijonon public 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 void naytateksti(string teksti, String nayttaminen){ public static void main(string[] args) { PienellaSuurella ohjelma = new PienellaSuurella(); String teksti, nayttaminen; teksti = ohjelma.kysyteksti("kirjoita teksti: "); nayttaminen = ohjelma.kysyteksti("suurella vai pienellä: ") ohjelma.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 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 = ohjelma.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 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); Ohjelma.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 Metodi ja taulukko Tee ohjelma, joka kysyy lottorivin. public class Kayttajanlotto { metodi ottaa public void kysylotto(int [] numerot, int lkm) { vastaan taulukon public void naytalotto(int [] numerot, int lkm) { public static void main(string[] args) { Kayttajanlotto ohjelma 0 new Kayttajanlotto(); 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]; ohjelma.kysylotto(numerot, lkm); ohjelma.naytalotto(numerot, lkm); metodille välitetään parametrina taulukko 11 Metodi kysyy lottonumerot. Ensimmäinen parametri on taulukko, mihin numerot kysytään. Toinen parametri kertoo, montako numeroa kysytään. metodi ei palauta mitään, koska metodin tyyppi on void taulukko voidaan viedä parametrina, koska metodi pystyy muuttamaan taulukkoa (oliota) public void kysylotto(int [] numerot, int lkm) { int numero; Scanner input = new Scanner(System.in); for (int i = 0; i < lkm; i++) { System.out.print("Anna " + (i+1) + " lottonumerosi: "); numero = input.nextint(); numerot[i] = numero; ohjelma.kysylotto (numerot, lkm); metodille välitetään parametrina taulukko 12

7 Metodi näyttää annetun lottorivin. Ensimmäinen parametri on taulukko, missä lottonumerot on. Toinen parametri kertoo, montako numeroa taulukossa on. public void naytalotto(int [] numerot, int lkm) { Arrays.sort(numerot, 0, lkm); System.out.print("Rivisi oli "); for (int i = 0; i < lkm; i++) { System.out.print(numerot[i] + " "); ohjelma.naytalotto (numerot, lkm); metodille välitetään parametrina taulukko 13