Uitdaging: Methoden
De code bevat een struct genaamd Cypher
die in feite een soort Caesar-cijfer voorstelt.
Het Caesar-cijfer is een methode voor tekstcodering die berichten onleesbaar maakt door elke letter een vast aantal posities in het alfabet of ASCII-tekens te verschuiven. Bijvoorbeeld, als elk teken in "HelloWorld" met 7 posities wordt verschoven volgens de ASCII-tabel, ontstaat "Olssv^vysk." Het is vergelijkbaar met een geheime code waarbij elke letter wordt vervangen door een andere letter een bepaald aantal stappen verderop. Dit kan worden gezien als een eenvoudige manier om berichten of tekst te verbergen.
Meer informatie over het Caesar-cijfer is te vinden op de Wikipedia-pagina, maar dit is niet noodzakelijk voor het oplossen van deze oefenopgave.
Lees de code en vul de lege plekken in zodat deze correct werkt. Het uiteindelijke programma hoort als volgt te functioneren:
- De methode
setText
zet de meegegeven tekst om in gecodeerde tekst en slaat deze op in het veldtext
. Deze methode neemt één argument van het typestring
met de naamtext
, en de methode geeft geen waarde terug; rawText
retourneert de inhoud van het veldtext
. Deze methode neemt geen argumenten;decodedText
decodeert de inhoud van het veldtext
en retourneert het resultaat. Ook deze methode neemt geen argumenten.
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()); } }
- Het is goede praktijk om het sleutelwoord
this
te gebruiken wanneer je verwijst naar de velden van de struct. - Je gebruikt het sleutelwoord
void
als returnwaarde wanneer de methode geen waarde teruggeeft.
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()); } }
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
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
Uitdaging: Methoden
Veeg om het menu te tonen
De code bevat een struct genaamd Cypher
die in feite een soort Caesar-cijfer voorstelt.
Het Caesar-cijfer is een methode voor tekstcodering die berichten onleesbaar maakt door elke letter een vast aantal posities in het alfabet of ASCII-tekens te verschuiven. Bijvoorbeeld, als elk teken in "HelloWorld" met 7 posities wordt verschoven volgens de ASCII-tabel, ontstaat "Olssv^vysk." Het is vergelijkbaar met een geheime code waarbij elke letter wordt vervangen door een andere letter een bepaald aantal stappen verderop. Dit kan worden gezien als een eenvoudige manier om berichten of tekst te verbergen.
Meer informatie over het Caesar-cijfer is te vinden op de Wikipedia-pagina, maar dit is niet noodzakelijk voor het oplossen van deze oefenopgave.
Lees de code en vul de lege plekken in zodat deze correct werkt. Het uiteindelijke programma hoort als volgt te functioneren:
- De methode
setText
zet de meegegeven tekst om in gecodeerde tekst en slaat deze op in het veldtext
. Deze methode neemt één argument van het typestring
met de naamtext
, en de methode geeft geen waarde terug; rawText
retourneert de inhoud van het veldtext
. Deze methode neemt geen argumenten;decodedText
decodeert de inhoud van het veldtext
en retourneert het resultaat. Ook deze methode neemt geen argumenten.
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()); } }
- Het is goede praktijk om het sleutelwoord
this
te gebruiken wanneer je verwijst naar de velden van de struct. - Je gebruikt het sleutelwoord
void
als returnwaarde wanneer de methode geen waarde teruggeeft.
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()); } }
Bedankt voor je feedback!