Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Merkkijonometodien Käytännön Sovellukset | Merkkijono
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Java Perusteet

bookMerkkijonometodien Käytännön Sovellukset

Menetelmien Käytännön Soveltaminen

Seuraavaksi tarkastellaan koodiesimerkkejä jokaisesta näistä menetelmistä. Näiden toiminnallisuus selviää nopeasti:

Main.java

Main.java

copy
12345678910111213141516171819
package com.example; public class Main { public static void main(String[] args) { String string = "Hello world"; System.out.println("string length = " + string.length()); System.out.println("char at 0s position is " + string.charAt(0)); System.out.println("substring from third position = " + string.substring(3)); System.out.println("substring from third to seventh position = " + string.substring(3, 7)); System.out.println("string in lower case = " + string.toLowerCase()); System.out.println("string in upper case = " + string.toUpperCase()); System.out.println("checking if string contains 'ell' = " + string.contains("ell")); System.out.println("replacing all the 'l' characters to 'b' = " + string.replace('l', 'b')); char[] chars = string.toCharArray(); System.out.println("as we can see, after all of this " + "operations our string hasn't changed, it is still " + string); } }

Käytimme juuri useita menetelmiä yhdelle merkkijonolle, mutta lopulta sen arvo pysyi muuttumattomana. Juuri tästä mainitsin edellisessä luvussa. Merkkijonon arvo ei muutu ilman uuden olion luomista muistiin.

Tarkastellaan nyt muutamia käytännön sovelluksia näille menetelmille seuraavien esimerkkitehtävien avulla:

Tehtävä 1

Laadi ohjelma, joka koodaa viestin turvallisesti. Näytä salattu viesti konsolissa.

Kirjoitetaan oma salausmenetelmä, joka siirtää jokaista merkkiä alkuperäisessä merkkijonossa 3 askelta eteenpäin ASCII-taulukossa viestin salaamiseksi.

Main.java

Main.java

copy
12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { String secretMessage = "hello world"; // Original message char[] codedMessage = secretMessage.toCharArray(); // Convert message to a char array // Loop through each character and shift by 3 positions in the ASCII table to encrypt for (int i = 0; i < codedMessage.length; i++) { // Encrypt character codedMessage[i] = (char) (codedMessage[i] + 3); } // Print the encrypted message System.out.println(new String(codedMessage)); } }

Tämä koodi havainnollistaa yksinkertaista salausmenetelmää salasanalle tai salaiselle viestille. Merkkijono hello world muunnetaan merkkitaulukoksi, ja jokaista merkkiä siirretään 3 askelta eteenpäin ASCII-taulukossa käyttämällä (char) (codedMessage[i] + 3). Salattu viesti tulostetaan konsoliin.

Tehtävä 2

Lataa dokumentin otsikko, joka täytyy muuntaa isoiksi kirjaimiksi ja lisätä alaviivat _ sanojen väliin, jotta siitä saadaan järjestelmäystävällinen tiedostonimi.

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { String documentTitle = "Quarterly financial report"; // Document title String systemFileName = documentTitle.toUpperCase().replace(" ", "_"); System.out.println(systemFileName); // Output } }

Tämä koodi käsittelee dokumentin otsikon luodakseen järjestelmäystävällisen tiedostonimen. Se käyttää toUpperCase()-metodia muuntaakseen kaikki kirjaimet isoiksi kirjaimiksi ja replace(" ", "_")-metodia korvatakseen välilyönnit alaviivoilla, mikä varmistaa yhtenäisyyden ja yhteensopivuuden tiedostojen tallennuksessa. Tuloksena saatu tiedostonimi näytetään konsolissa.

1. Mitä tulostuu konsoliin?

2. Mitä tulostuu konsoliin?

3. Mitä tulostuu konsoliin?

question mark

Mitä tulostuu konsoliin?

Select the correct answer

question mark

Mitä tulostuu konsoliin?

Select the correct answer

question mark

Mitä tulostuu konsoliin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

bookMerkkijonometodien Käytännön Sovellukset

Pyyhkäise näyttääksesi valikon

Menetelmien Käytännön Soveltaminen

Seuraavaksi tarkastellaan koodiesimerkkejä jokaisesta näistä menetelmistä. Näiden toiminnallisuus selviää nopeasti:

Main.java

Main.java

copy
12345678910111213141516171819
package com.example; public class Main { public static void main(String[] args) { String string = "Hello world"; System.out.println("string length = " + string.length()); System.out.println("char at 0s position is " + string.charAt(0)); System.out.println("substring from third position = " + string.substring(3)); System.out.println("substring from third to seventh position = " + string.substring(3, 7)); System.out.println("string in lower case = " + string.toLowerCase()); System.out.println("string in upper case = " + string.toUpperCase()); System.out.println("checking if string contains 'ell' = " + string.contains("ell")); System.out.println("replacing all the 'l' characters to 'b' = " + string.replace('l', 'b')); char[] chars = string.toCharArray(); System.out.println("as we can see, after all of this " + "operations our string hasn't changed, it is still " + string); } }

Käytimme juuri useita menetelmiä yhdelle merkkijonolle, mutta lopulta sen arvo pysyi muuttumattomana. Juuri tästä mainitsin edellisessä luvussa. Merkkijonon arvo ei muutu ilman uuden olion luomista muistiin.

Tarkastellaan nyt muutamia käytännön sovelluksia näille menetelmille seuraavien esimerkkitehtävien avulla:

Tehtävä 1

Laadi ohjelma, joka koodaa viestin turvallisesti. Näytä salattu viesti konsolissa.

Kirjoitetaan oma salausmenetelmä, joka siirtää jokaista merkkiä alkuperäisessä merkkijonossa 3 askelta eteenpäin ASCII-taulukossa viestin salaamiseksi.

Main.java

Main.java

copy
12345678910111213141516
package com.example; public class Main { public static void main(String[] args) { String secretMessage = "hello world"; // Original message char[] codedMessage = secretMessage.toCharArray(); // Convert message to a char array // Loop through each character and shift by 3 positions in the ASCII table to encrypt for (int i = 0; i < codedMessage.length; i++) { // Encrypt character codedMessage[i] = (char) (codedMessage[i] + 3); } // Print the encrypted message System.out.println(new String(codedMessage)); } }

Tämä koodi havainnollistaa yksinkertaista salausmenetelmää salasanalle tai salaiselle viestille. Merkkijono hello world muunnetaan merkkitaulukoksi, ja jokaista merkkiä siirretään 3 askelta eteenpäin ASCII-taulukossa käyttämällä (char) (codedMessage[i] + 3). Salattu viesti tulostetaan konsoliin.

Tehtävä 2

Lataa dokumentin otsikko, joka täytyy muuntaa isoiksi kirjaimiksi ja lisätä alaviivat _ sanojen väliin, jotta siitä saadaan järjestelmäystävällinen tiedostonimi.

Main.java

Main.java

copy
12345678910
package com.example; public class Main { public static void main(String[] args) { String documentTitle = "Quarterly financial report"; // Document title String systemFileName = documentTitle.toUpperCase().replace(" ", "_"); System.out.println(systemFileName); // Output } }

Tämä koodi käsittelee dokumentin otsikon luodakseen järjestelmäystävällisen tiedostonimen. Se käyttää toUpperCase()-metodia muuntaakseen kaikki kirjaimet isoiksi kirjaimiksi ja replace(" ", "_")-metodia korvatakseen välilyönnit alaviivoilla, mikä varmistaa yhtenäisyyden ja yhteensopivuuden tiedostojen tallennuksessa. Tuloksena saatu tiedostonimi näytetään konsolissa.

1. Mitä tulostuu konsoliin?

2. Mitä tulostuu konsoliin?

3. Mitä tulostuu konsoliin?

question mark

Mitä tulostuu konsoliin?

Select the correct answer

question mark

Mitä tulostuu konsoliin?

Select the correct answer

question mark

Mitä tulostuu konsoliin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 5. Luku 3
some-alt