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;rawTextpalauttaa kentäntextsisällön. Tämä metodi ei ota argumentteja;decodedTextpurkaa kentäntextsisä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
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;rawTextpalauttaa kentäntextsisällön. Tämä metodi ei ota argumentteja;decodedTextpurkaa kentäntextsisä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!