Taulukoiden käsittely Javalla

Samankaltaiset tiedostot
Metodien tekeminen Javalla

Metodien tekeminen Javalla

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

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

Listarakenne (ArrayList-luokka)

public static void main (String [] args)

Ohjelmointi 1 / 2009 syksy Tentti / 18.12

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 )

Olio-ohjelmointi Javalla

Java-kielen perusteita

Java-kielen perusteita

Java-kielen perusteita

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

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

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

YHTEYSSUHDE (assosiation)

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

Lista luokan sisällä

Rajapinta (interface)

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

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

Java-kielen perusteet

Poikkeustenkäsittely

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

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

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

Mikä yhteyssuhde on?

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

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

Merkkien ja merkkijonojen käsittelyä Javalla

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)

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

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

Periytyminen (inheritance)

Java-kielen perusteet

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

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

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

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

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

Mitä poikkeuskäsittely tarkoittaa?

Luokan muodostimet (Constructors)

1 Tehtävän kuvaus ja analysointi

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

Harjoitus Olkoon olemassa luokat Lintu ja Pelikaani seuraavasti:

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

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

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Informaatioteknologian laitos Olio-ohjelmoinnin perusteet / Salo

17. Javan omat luokat 17.1

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

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

KOHDELUOKAN MÄÄRITTELY

Vahva koostumussuhde (Composition)

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Sisällys. 14. Poikkeukset. Johdanto. Johdanto

Taulukot. Jukka Harju, Jukka Juslin

14. Poikkeukset 14.1

Rinnakkaisohjelmointi kurssi. Opintopiiri työskentelyn raportti

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

Ohjelmoinnin jatkokurssi, kurssikoe

11. Javan toistorakenteet 11.1

20. Javan omat luokat 20.1

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

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

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

58131 Tietorakenteet ja algoritmit (syksy 2015)

Taulukot, silmukat ja muut joka koodin pikku veijarit

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Metodit Arvotyyppi. Metodit Arvotyyppi. Metodit Parametrit. Metodit Parametrit. Metodit Kuormittaminen. Metodit Kuormittaminen. Javan perusteet

14. Poikkeukset 14.1

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

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

Ohjelmointi 2 / 2010 Välikoe / 26.3

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

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

1. Mitä tehdään ensiksi?

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

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

Sisältö. Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 6.2

ITKP102 Ohjelmointi 1 (6 op)

7. Oliot ja viitteet 7.1

Ohjelmoinnin perusteet, kurssikoe

1. Omat operaatiot 1.1

Ohjelmoinnin perusteet Y Python

Ohjelmointi 1 Taulukot ja merkkijonot

Java kahdessa tunnissa. Jyry Suvilehto

Luokan sisällä on lista

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

Olio-ohjelmointi Syntaksikokoelma

19. Olio-ohjelmointia Javalla 19.1

Tietorakenteet (syksy 2013)

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

Sisällys. 6. Metodit. Oliot viestivät metodeja kutsuen. Oliot viestivät metodeja kutsuen

Sisältö Johdanto. Tiedostojen lukeminen. Tiedostojen kirjoittaminen. 26.2

Merkkijono määritellään kuten muutkin taulukot, mutta tilaa on varattava yksi ylimääräinen paikka lopetusmerkille:

Ehto- ja toistolauseet

Ohjelmointityö 3. Mikko Laamanen

ITKP102 Ohjelmointi 1 (6 op), arvosteluraportti

Transkriptio:

1 Taulukoiden käsittely Javalla Mikä taulukko on? Taulukon syntaksi Merkkijonotaulukko Lukutaulukko Taulukon kopiointi 1 Mikä taulukko on? Taulukko on rakenne, minne saadaan talteen usea saman tyyppinen tieto. Taulukon syntaksi Pelkkä esittely ja luonti erikseen tietotyyppi[] taulukonnimi = null; taulukonnimi = new tietotyyppi[koko]; Esittely ja luonti samassa tietotyyppi[] taulukonnimi = new tietotyyppi[koko]; Esittely, luonti ja alustaminen samassa tietotyyppi[] taulukonnimi = {arvo1, arvo2, arvo3;

2 Merkkijonotaulukko Merkkijonotaulukkoon laitetaan merkkijonoja nimet String[] nimet=null; int lkm = 20; nimet = new String[lkm]; null null pelkkä taulukon esittely ja luonti erikseen esittely ja luonti samassa, 20 merkkijonoa. Taulukon sisältönä null:ia, koska tietoja ei ole annettu. String[] nimet = {"Maija", "Matti"; nimet "Maija" "Matti" taulukon esittely, luonti ja alustaminen samassa 0 1 paikkanumerot taulukossa 3 taulukon esittely ja luonti, 20 merkkijonoa null null null null 0 1 2 3 18 19 int i = 0; String nimi = "Matti"; nimet[i] = nimi; merkkijono nimi ( Matti ) laitetaan taulukkoon paikalle i (0) taulukon nimi taulukon indeksi Matti null null null 0 1 2 3 18 19

3 Tietojen laittaminen taulukkoon int lkm = 0; nimi = input.nextline(); nimi = nimi.trim(); while (lkm < 20 && nimi.length()!= 0){ nimet[lkm] = nimi; lkm++; System.out.print("Anna nimi: "); nimi = input.nextline(); nimi = nimi.trim(); taulukon esittely ja luonti kertoo taulukossa olevien System.out.print("Anna nimi (tyhjä lopettaa): merkkijonojen "); lukumäärän ja myös seuraavan vapaan paikan, minne voi laittaa uuden merkkijonon annettu merkkijono (nimi) sijoitetaan taulukkoon lkm paikalle lkm muuttuja kasvatetaan, jotta seuraava nimi menee seuraavalle paikalle taulukossa 5 Taulukon läpikäynti lkm kertoo taulukon koon (alla esimerkissä se on 20). Tätä tapaa käytetään, kun koko taulukkoa ei välttämättä täytetä. int lkm = 20; for (int i = 0; i < lkm; i++) { System.out.println(nimet[i] + " "); taulukon i:nnen paikan sisältö tai length kertoo taulukon koon (alla esimerkissä se on 20). Tätä tapaa voidaan käyttää, kun taulukon jokainen paikka on täytettynä. int i = 0; while (i < nimet.length) { System.out.println(nimet[i] + " "); i++; taulukon i:nnen paikan sisältö 6

4 import java.util.arrays; public static void main(string[] args) { final int MAX = 20; String[] nimet = new String[MAX]; String nimi; int lkm = 0; Scanner input = new Scanner(System.in); System.out.print("Anna nimi (tyhjä lopettaa): "); nimi = input.nextline(); nimi = nimi.trim(); while (lkm < MAX && nimi.length()!= 0) { nimet[lkm] = nimi; lkm++; if (lkm < MAX) { System.out.print("Anna nimi: "); Tee ohjelma, joka kysyy perheenjäsenten etunimet (max. 20). Käyttäjä voi antaa nimiä, kunnes nimeksi annetaan tyhjä merkkijono tai kun nimiä on annettu 20. esitellään ja luodaan taulukko sijoitetaan nimi taulukkoon jos taulukko ei ole täynnä nimi = input.nextline(); nimi = nimi.trim(); // Jatkuu seuraavalla sivulla 7 Lopuksi ohjelma näyttää nimet aakkosjärjestyksessä. taulukon lajittelu lajiteltava taulukko Arrays.sort(nimet, 0, lkm); mistä indeksistä lajittelu alkaa mihin indeksiin lajittelu päättyy (kyseinen indeksi ei tule mukaan lajitteluun) System.out.println("Nimet ovat aakkosjärjestyksessä"); for (int i = 0; i < lkm; i++) { System.out.println(nimet[i] + " "); // main päättyy 8

5 Lukutaulukko Lukutaulukkoon laitetaan int/double lukuja numerot numerot int[] numerot=null; int lkm = 10; numerot = new int[lkm]; int[] numerot = new int[10]; 0 0 0 0 int[] numerot = {6, 4, 3, 1; 6 4 3 1 pelkkä esittely, taulukko luodaan erikseen esittely ja luonti samassa, 10 kokonaislukua. Taulukon sisältönä nollia, koska tietoja ei ole annettu. esittely, luonti ja alustaminen samassa 0 1 2 3 paikkanumerot taulukossa 9 int[] numerot = new int[10]; taulukon esittely ja luonti, 10 kokonaislukua 0 0 0 0 0 1 2 3 8 9 int i = 0; int luku = 12; luvut[i] = luku; kokonaisluku laitetaan taulukkoon paikalle i (=0) 12 0 0 0 0 1 2 3 8 9 10

6 import java.util.arrays; public static void main(string[] args) { int[] numerot=null; int numero, lkm; esitellään taulukko Tee ohjelma, joka kysyy käyttäjän lottorivin. Aluksi ohjelma kysyy, montako numeroa lottorivissä on. Sen jälkeen ohjelmaa pyytää käyttäjältä hänen lottonumeronsa. Scanner input = new Scanner(System.in); System.out.print("Montako numeroa annat (7-10): "); lkm = input.nextint(); numerot = new int[lkm]; luodaan taulukko for (int i = 0; i < numerot.length; i++) { System.out.print("Anna " + (i+1) + " lottonumerosi: "); numero = input.nextint(); numerot[i] = numero; sijoitetaan numero taulukkoon // Jatkuu seuraavalla sivulla 11 Arrays.sort(numerot, 0, numerot.length); Lopuksi ohjelma näyttää käyttäjän antamat lottonumerot nousevassa järjestyksessä. System.out.print("Rivisi oli "); for (int i = 0; i < numerot.length; i++) { System.out.print(numerot[i] + " "); // main päättyy 12

7 Taulukon kopiointi Taulukkoja ei saa kopioida sijoituslauseella taulukko1 = taulukko2; // VÄÄRIN Sijoituslause laittaa molemmat taulukot viittamaan samoihin tietoihin (eli taulukko2:n tietoihin). Taulukko kopioidaan int[] lotto = new int[lkm]; int[] numerot = new int[lkm]; for (int i = 0; i < lotto.length; i++) { lotto[i] = numerot[i]; 13