Ilkka Koivistoinen 13.02.2002

Edellinen

Seuraava

3.8 Merkkijonotaulukot

String –luokalle on vaihtoehtona merkkijonotaulukko

char[]  merkkijono= new char[20]; // luodaan 20 merkkiä pitkä taulukko

char[] merkkijono ilmoittaa, että taulukon merkkijono alkiot ovat perustietotyyppiä char ja new char[20] varaa muistia 20 merkin verran. Ensimmäinen paikka on merkkijono[0], toinen merkkijono[1] ja niin edelleen. (Niille, jotka ovat aikaisemmin lukeneet Pascal -kielen merkkijonoja, saattaa 0 -paikan käyttö olla yllätys. Javassa kaikki taulukot ja jonot alkavat paikasta 0)

Seuraavassa esimerkissä String –luokan olio s kopioidaan toCharArray() -metodilla merkkijonotaulukkoon jono.

String s = "merkkijono";
char[] jono = new char[10];
jono = s.toCharArray();

Merkkijonotaulukon alkioihin voidaan viitata suoraan taulukkoindeksin avulla. Esimerkiksi

char c;
c = jono[3]; // edellisen mukaan c:n arvo on nyt "k"

jono[0]='m'

jono[1]='e'

jono[2]='r'

jono[3]='k'

jono[4]='k'

jono[5]='i'…

Merkkejä voidaan verrata toisiinsa UNICODE koodinumeron perusteella. Koska koodinumerot on järjestetty suuruusjärjestykseen, niin esimerkiksi pätee, että 'a'<'b' sekä 'A'<'a'.

3. 9 Tehtäviä

  1. Tee ohjelma, joka asettaa int muuttujan arvoksi jonkin numeron ja ilmoittaa sen UNICODE-koodin (tai ascii, jos koneesi ei tue unicodea)
  2. Tee ohjelma, joka UNICODE-koodin perusteella tulostaa vastaavan merkin. (Nyt unicode toimii, jos näyttö vaan saa sen tulostettua)
  3. Tee ohjelma, asettaa merkkijonon ja tulostaa sen pituuden
  4. * Tee ohjelma, joka asettaa kaksi merkkijonoa ja tulostaa niiden yhdistelmän
  5. **Määritä merkkijono String käärme = "Kyykäärmeellä on tumma sahalaita selässään". Tulosta eri riveille Kyykäärme, tumma, saha ja ssään. Vihje: Käytä substring()-metoida.
  6. Kokeile toUpperCase –metodia. Lue merkkejä näppäimistöltä muuttujaan merkit ja tulosta merkit.toUpperCase(). Kokeile erilaisia merkkejä. Toimiiko skandeilla?
  7. ** Määritä String huuto = "Tämä teksti huudetaan". Tulosta se isoilla kirjaimilla (mikä tarkoittaa nettietiketissä huutamista) ja sitten muokkaa jonoa siten, että saat saman tekstin muodossa "tämä teksti kuiskataan" pienillä kirjaimilla .
  8. a. Tee ohjelma, joka tulostaa punakylkirastaan kyljen värin ja linnun lajin loppuosan (rastas) muokkaamalla merkkijonoa "Punakylkirastas".
  9. b Kahdesta merkkijonosta "Lintuparvessa näkyi hanhia", " ja lintuparvessa näkyi kurkia" muodostetaan merkkijono "Parvessa näkyi hanhia ja kurkia". Loppuun lisätään merkki ! (huutomerkki).
  10. c. Vaihda merkkijono "Häkkinen on ennen ajajaa Salo" jonoksi "Salo on ennen ajajaa Häkkinen".

 

Vastaukset  (** tehtäviin ei vastausta)

Ilkka Koivistoinen 13.02.2002

Edellinen

Seuraava