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 )

Samankaltaiset tiedostot
Metodien tekeminen Javalla

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

Rajapinta (interface)

Taulukoiden käsittely Javalla

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

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

Olio-ohjelmointi Javalla

Listarakenne (ArrayList-luokka)

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

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

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

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

public static void main (String [] args)

Java-kielen perusteita

Java-kielen perusteet

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

Java-kielen perusteita

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

Ohjelmoinnin jatkokurssi, kurssikoe

Seuraavassa on esimerkki for-, while- ja do-while -lauseesta:

Metodien tekeminen Javalla

Mikä yhteyssuhde on?

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Ohjelmoinnin perusteet, kurssikoe

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

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

YHTEYSSUHDE (assosiation)

Tietorakenteet (syksy 2013)

Ohjelmointityö 3. Mikko Laamanen

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

1 Tehtävän kuvaus ja analysointi

58131 Tietorakenteet ja algoritmit (syksy 2015)

Ohjelmointi 2 / 2010 Välikoe / 26.3

ITKP102 Ohjelmointi 1 (6 op)

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Periytyminen (inheritance)

Javan GUI Scratchaajalle

Lista luokan sisällä

Tietojen syöttäminen ohjelmalle. Tietojen syöttäminen ohjelmalle Scanner-luokan avulla

7. Näytölle tulostaminen 7.1

KOHDELUOKAN MÄÄRITTELY

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

ITKP102 Ohjelmointi 1 (6 op)

Vahva koostumussuhde (Composition)

1. Omat operaatiot 1.1

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

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

Luokan sisällä on lista

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

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Tietorakenteet ja algoritmit syksy Laskuharjoitus 1

17. Javan omat luokat 17.1

Interaktiivinen tarinankerronta

Poikkeustenkäsittely

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

Luokat ja oliot. Ville Sundberg

13. Loogiset operaatiot 13.1

Ohjelmoinnin peruskurssi Y1

ITKP102 Ohjelmointi 1 (6 op)

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

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

Java kahdessa tunnissa. Jyry Suvilehto

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

14. Poikkeukset 14.1

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

ITKP102 Ohjelmointi 1 (6 op)

Taulukot. Jukka Harju, Jukka Juslin

1. Mitä tehdään ensiksi?

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

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 15.3

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

Ehto- ja toistolauseet

13. Loogiset operaatiot 13.1

Ohjelmoinnin perusteet Y Python

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

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

14. Poikkeukset 14.1

Java-kielen perusteet

Ohjelmointi 2 / 2011 Välikoe / 25.3

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

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

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

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Ohjelmoinnin perusteet Y Python

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

Ohjelmistotekniikan menetelmät, koe

20. Javan omat luokat 20.1

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

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

Ohjelmointityö 65 Tekstinmuotoilu ohjelma. Dokumentaatio. Aki Heikkinen (155394)

Lohkot. if (ehto1) { if (ehto2) { lause 1;... lause n; } } else { lause 1;... lause m; } 16.3

Ohjelmointi 2, välikoe

Javan perusteita. Janne Käki

Java-kielen perusteet

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

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

11. Javan toistorakenteet 11.1

Transkriptio:

Tehtävä do while + Viikko 1 Tehtävä 27. Salasana (MOOC) Viikko 1 Tehtävä 28. Lämpötilat (MOOC) Tehdään ohjelma, joka kysyy käyttäjältä lukua. Luku kerrotaan aina seuraavalla käyttäjän antamalla luvulla ja ilmoitetaan sitten käyttäjän antamien lukujen tulo. 1. Luo ensin tarvittavat muuttujat: tulo ja annettuluku 2. Alusta käyttäjän antama luku nollaksi ja laita tuloon yksi, koska nollaa kertomalla saadaan tuloksi aina nolla! 3. Luo skanneri ja muista import java.util.scanner! 4. Aloita do while ja mieti do whilen lopetusehto! (katso mallikuvaa) 5. Do whilen sisällä kysytään lukua ja tallennetaan se muuttujaan. 6. Do whilen sisällä tulo-muuttujaan lisätään tulon ja annetunluvun tulo (kyseiset luvut kerrotaan keskenään) 7. Tulosta jokaisella kierroksella Tulo on + tulo 8. Aja ohjelma! EXTRA: - Muuta ohjelmaa 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. 1-100 tai -100 +100) public static void main(string[] args) { int tulo = 1; int annettuluku = 0; Scanner lukija = new Scanner(System.in); do{ System.out.print("Anna luku (lopetus 0): "); annettuluku = lukija.nextint(); tulo = tulo * annettuluku; System.out.println("Tulo on "+ tulo); while(annettuluku!= 0);

METODIT: Esimerkki 1 private void jbutton1actionperformed(java.awt.event.actionevent evt) { int luku = 5; jtextarea1.append("ennen metodin kutsumista luku on " + luku + "\n"); //kutsutaan metodia vaihda() luku = vaihda(); jtextarea1.append("metodin kutsumisen jälkeen luku on " + luku + "\n"); public static int vaihda(){ int numero = 10; return numero;

Vertailuesimerkki. Sama juttu framella ja cmdllä Pyydetään käyttäjältä kaksi kokonaislukua, joita vertaillaan metodissa public static int max(). Metodille annetaan parametreinä molemmat käyttäjän antamat luvut ja metodi palauttaa luvuista suuremman. cmd:n koodi public static void main(string[] args) { int annettuluku1 = 0; int annettuluku2 = 0; Scanner lukija = new Scanner(System.in); System.out.print("Anna ensimmäinen kokonaisluku: "); annettuluku1 = lukija.nextint(); System.out.print("Anna toinen kokonaisluku: "); annettuluku2 = lukija.nextint(); System.out.println("Antamistasi luvuista suurempi oli "+ max(annettuluku1, annettuluku2));

public static int max(int luku1, int luku2){ int isoin = 0; if(luku1 < luku2){ isoin = luku2; else if(luku1 == luku2){ //System.out.println("Luvut olivat yhtäsuuret"); isoin = luku1; else{ isoin = luku1; return isoin; framen koodi: private void klikkaaactionperformed(java.awt.event.actionevent evt) { int luku1 = 0; int luku2 = 0; luku1 = Integer.parseInt(annettuLuku1.getText()); luku2 = Integer.parseInt(annettuLuku2.getText()); vastauslabel.settext("antamistasi luvuista suurempi oli "+ max(luku1, luku2)); public static int max(int luku1, int luku2){ int isoin = 0; if(luku1 < luku2){ isoin = luku2; else if(luku1 == luku2){ //System.out.println("Luvut olivat yhtäsuuret"); isoin = luku1; else{ isoin = luku1; return isoin;

Tehtävä 1 Tee ohjelma, joka kysyy käyttäjältä sanan. Sana lähetetään parametrina metodille, joka laskee montako merkkiä sanassa on. Metodi palauttaa merkkien määrän. Kirjoita pääohjelmaan (main class) seuraavaa: 1. Luo muuttuja, johon voi tallentaa merkkijonon. 2. Tallenna luomaasi muuttujaan käyttäjän antama merkkijono. 3. Tulosta vastauslabeliin: "Antamassasi sanassa on "+ (KUTSU TÄSSÄ KOHDASSA METODIA JA ANNA METODILLE PARAMETRINÄ LUOMASI MUUTTUJA) + " merkkiä." Kirjoita metodiin seuraavaa: 1. metodin alku on public static (tietotyyppi mikä metodista palautetaan) (metodin nimi esim. montakomerkkia) (sulkujen sisällä parametri joka metodille on pääohjelmassa annettu esim. String annettusana) 2. luo metodin sisälle muuttuja, johon voit sijoittaa kokonaislukuja. Tallennamme tähän muuttujaan tiedon siitä, montako merkkiä käyttäjän antamassa merkkijonossa on. 3. Alusta äsken luotu muuttuja nollaksi. 4. sijoita luotuun muuttujaan tieto siitä, montako merkkiä käyttäjän antamassa merkkijonossa on. VINKKI! Saat selville merkkijonon pituuden lenght():n avulla! Googleta java string length 5. palauta metodista muuttuja, jonne on tallennettu käyttäjän antaman sanan merkkien määrä. private void klikkaaactionperformed(java.awt.event.actionevent evt) { String sana = annettusana.gettext(); vastauslabel.settext("antamassasi sanassa on "+ montakomerkkia(sana) + " merkkiä."); public static int montakomerkkia(string annettusana) { int merkkeja = 0; merkkeja = annettusana.length(); return merkkeja;

Tehtävä 2. Tehdään ohjelma joka vaihtaa käyttäjän antamat luvut päikseen. Kirjoita nämä pääohjelmaan (main class): 1. Luo lukija (Scanner lukija = n...) sekä muuttujat kahdelle eri kokonaisluvulle ja alusta ne nolliksi. 2. Tee kuvan mukainen tulostus. Kysy lukua 1. 3. Sijoita käyttäjän antama luku toiseen luomaasi muuttujaan (lukija.nextint() hakee luvun komentoriviltä) 4. Tee kuvan mukainen tulostus. Kysy lukua 2. 5. Sijoita käyttäjän antama luku toiseen luomaasi muuttujaan (lukija.nextint() hakee luvun komentoriviltä) 6. Tulosta: ("Ennen metodia: (rivinvaihto!) Luku1 on "+ (muuttujan nimi, johon käyttäjän antama ensimmäinen luku on sijoitettu) + " ja luku2 on " + (muuttujan nimi, johon käyttäjän antama toinen luku on sijoitettu) 7. Kutsu metodia vaihdaluvut() ja anna metodille parametreinä ne muuttujat, joihin on tallennettu käyttäjän antamat luvut. Kirjoita metodiin seuraavaa: 1. Metodi alkaa seuraavasti: public static void metodinnimi (tietotyyppi saatu parametri, tietotyyppi saatu parametri) 2. Void metodin nimen edesä tarkoittaa, että metodi ei palauta mitään!! Joten returnia ei tarvitse kirjoittaa metodin sisälle ollenkaan! 3. Luo uudet muuttujat parametrina saaduille luvuille. Esim. uusiluku1 ja uusiluku2. 4. Sijoita äsken luotuihin muuttujiin parametrina saadut luvut, mutta päinvastaisessa järjestyksessä (ykkönen on kakkonen ja kakkonen on ykkönen) 5. Tulosta: Kun metodia on kutsuttu: (rivinvaihto!) Luku1 on "+ uusiluku1 + " ja luku2 on " + uusiluku2 EXTRA: 1. Millä tavalla metodin sisälle tulevaa koodia muuttamalla välttyisit luomasta uusia muuttujia ja sinun ei tarvitsisi sijoittaa parametrina saatuja lukuja uusiin muuttujiin? public static void main(string[] args) { Scanner lukija = new Scanner(System.in); int luku1 = 0; int luku2 = 0;

System.out.print("Anna ensimmäinen luku: "); luku1 = lukija.nextint(); System.out.print("Anna toinen luku: "); luku2 = lukija.nextint(); System.out.println("Ennen metodia:\nluku1 on "+ luku1 + " ja luku2 on " + luku2); vaihdaluvut(luku1, luku2); public static void vaihdaluvut (int luku1, int luku2){ int uusiluku1 = luku2; int uusiluku2 = luku1; System.out.println("Kun metodia on kutsuttu:\nluku1 on "+ uusiluku1 + " ja luku2 on " + uusiluku2); Tehtävä 3 //HUOMAUTUS! Tämä tehtävä tarkoituksella helppo, että ei tarvitse antaa koodia valmiina (pseudo) vaan joutuvat itse miettimään rakenteen metodiin ja pääohjelmaan! Ja myös miettimään montako muuttujaa pitää luoda, miten ne luotiin, miten niihin sijoitetaan tavaraa Tehdään ohjelma, joka kysyy käyttäjältä kaksi kokonaislukua ja käy laskemassa kokonaisluvut yhteen metodissa. Metodille annetaan parametrina käyttäjän antamat kokonaisluvut ja metodi palauttaa kokonaislukujen summan. Toteuta tehtävä joko framen avulla tai komentoriviltä. Voit ottaa esimerkkiä esimerkistä X tai tehtävästä X (edellinen) Vinkit: 1. Luvut kysytään pääohjelmassa (main class) 2. Kutsu metodia pääohjelmassa: metodin nimi(parametri, parametri); 3. Metodissa luvut lasketaan yhteen ja sijoitetaan summa-muuttujan 4. Metodi palauttaa summan. 5. Metodi aloitetaan seuraavasti: public static (tietotyyppi minkä palauttaa) (metodin nimi) (sulkujen sisällä metodin saamat parametrit: ensin tietotyyppi ja sitten parametrin nimi) Tehtävä 4. //HUOMAUTUS! Tämä tehtävä tarkoituksella helppoa, että ei tarvitse antaa koodia valmiina (pseudo) vaan joutuvat itse miettimään rakenteen metodiin ja pääohjelmaan! Ja myös miettimään montako muuttujaa pitää luoda, miten ne luotiin, miten niihin sijoitetaan tavaraa

Tehdään ohjelma, jossa tehdään kaksi eri metodia (pieni ja suuri) sekä pääohjelma (main class). Pääohjelmassa: Arvontakone arpoo luvun väliltä 0-100 (int)(math.random()*101) If elsessä päätetään kutsutaanko metodia pieni vai suuri. Kaikki luvut, jotka ovat alle 51 ovat pieniä. Metodissa: Metodissa tulostetaan saatu luku (joten metodin on saatava se parametrina) ja teksti onko se pieni vai suuri. Metodit eivät palauta mitään, joten metodin esittelyyn kirjoitetaan void. public static void main(string[] args) { int arvottuluku = (int)(math.random()*101); if(arvottuluku <= 50){ onpieni(arvottuluku); else{ onsuuri(arvottuluku); public static void onpieni(int luku){ System.out.println("Arvottu luku on "+ luku); System.out.println("Luku on pieni"); public static void onsuuri(int luku){ System.out.println("Arvottu luku on "+ luku); System.out.println("Luku on suuri"); MOOCISTA: Viikko 2 Tehtävä 44. Tulostelua Viikko 2 Tehtävä 45. Tulostelua Like a Boss Viikko 3 Tehtävä 55. Ensimmäinen kirjain Viikko 3 Tehtävä 56. Viimeinen kirjain Viikko 3 Tehtävä 57. Kolme ensimmäistä kirjainta Viikko 3 Tehtävä 59. Nimen kääntäminen