Haaste: Metodit
Koodi sisältää rakenteen nimeltä Cypher
, joka käytännössä edustaa eräänlaista Caesarin salausta.
Caesarin salaus on tekstin koodausmenetelmä, joka tekee viesteistä lukukelvottomia siirtämällä jokaista kirjainta tietyn määrän paikkoja aakkosissa tai ASCII-merkeissä. Esimerkiksi siirtämällä jokaista merkkiä sanassa "HelloWorld" seitsemän paikkaa ASCII-taulukon mukaan, saadaan "Olssv^vysk." Kyseessä on eräänlainen salakoodi, jossa jokainen kirjain korvataan toisella kirjaimella tietyn askeleen päässä. Voit ajatella sitä yksinkertaisena tapana piilottaa viestejä tai tekstiä.
Voit lukea Caesarin salauksesta sen Wikipedia-sivulta, mutta se ei ole välttämätöntä tämän harjoitustehtävän ratkaisemiseksi.
Lue koodi ja täydennä puuttuvat kohdat varmistaaksesi, että se toimii oikein. Alla on esitetty, miten lopullisen ohjelman tulisi toimia:
setText
-metodi muuntaa annetun tekstin koodatuksi tekstiksi ja tallentaa sen kenttääntext
. Tämä metodi ottaa yhdenstring
-tyyppisen argumentin nimeltätext
, eikä metodi palauta arvoa;rawText
palauttaa kentäntext
sisällön. Tämä metodi ei ota argumentteja;decodedText
purkaa kentäntext
sisällön ja palauttaa tuloksen. Tämä metodi ei myöskään ota argumentteja.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
- On hyvä käytäntö käyttää
this
-avainsanaa aina, kun viitataan rakenteen kenttiin. - Käytä
void
-avainsanaa palautustyyppinä, jos metodi ei palauta arvoa.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you show me the code that needs to be filled in?
What are the blanks that need to be completed in the code?
Can you explain how the encoding and decoding should work in this context?
Awesome!
Completion rate improved to 2.04
Haaste: Metodit
Pyyhkäise näyttääksesi valikon
Koodi sisältää rakenteen nimeltä Cypher
, joka käytännössä edustaa eräänlaista Caesarin salausta.
Caesarin salaus on tekstin koodausmenetelmä, joka tekee viesteistä lukukelvottomia siirtämällä jokaista kirjainta tietyn määrän paikkoja aakkosissa tai ASCII-merkeissä. Esimerkiksi siirtämällä jokaista merkkiä sanassa "HelloWorld" seitsemän paikkaa ASCII-taulukon mukaan, saadaan "Olssv^vysk." Kyseessä on eräänlainen salakoodi, jossa jokainen kirjain korvataan toisella kirjaimella tietyn askeleen päässä. Voit ajatella sitä yksinkertaisena tapana piilottaa viestejä tai tekstiä.
Voit lukea Caesarin salauksesta sen Wikipedia-sivulta, mutta se ei ole välttämätöntä tämän harjoitustehtävän ratkaisemiseksi.
Lue koodi ja täydennä puuttuvat kohdat varmistaaksesi, että se toimii oikein. Alla on esitetty, miten lopullisen ohjelman tulisi toimia:
setText
-metodi muuntaa annetun tekstin koodatuksi tekstiksi ja tallentaa sen kenttääntext
. Tämä metodi ottaa yhdenstring
-tyyppisen argumentin nimeltätext
, eikä metodi palauta arvoa;rawText
palauttaa kentäntext
sisällön. Tämä metodi ei ota argumentteja;decodedText
purkaa kentäntext
sisällön ja palauttaa tuloksen. Tämä metodi ei myöskään ota argumentteja.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; ___ { string encodedText = ""; foreach(char chr in text) encodedText += (char) (chr + 7); ___ = encodedText; } public string rawText() { ___ } ___ { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); ___ } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
- On hyvä käytäntö käyttää
this
-avainsanaa aina, kun viitataan rakenteen kenttiin. - Käytä
void
-avainsanaa palautustyyppinä, jos metodi ei palauta arvoa.
index.cs
1234567891011121314151617181920212223242526272829303132333435363738394041424344using System; struct Cypher { public string text; public void setText(string text) { string encodedText = ""; foreach (char chr in text) encodedText += (char)(chr + 7); this.text = encodedText; } public string rawText() { return this.text; } public string decodedText() { string decodedText = ""; foreach (char chr in this.text) decodedText += (char)(chr - 7); return decodedText; } } class ConsoleApp { static void Main(string[] args) { Cypher text1 = new Cypher(); text1.setText("This is an example sentence."); Console.WriteLine(text1.rawText()); Console.WriteLine(text1.decodedText()); } }
Kiitos palautteestasi!