Udfordring: Metoder
Koden indeholder en struct kaldet Cypher
, som grundlæggende repræsenterer en form for Caesar-chiffer.
Caesar-chifferet er en metode til tekstkodning, der gør beskeder ulæselige ved at flytte hvert bogstav et fast antal positioner i alfabetet eller ASCII-tegn. For eksempel, hvis hvert tegn i "HelloWorld" flyttes 7 positioner ifølge ASCII-tabellen, bliver det til "Olssv^vysk." Det fungerer som en hemmelig kode, hvor hvert bogstav erstattes af et andet bogstav et bestemt antal trin væk. Det kan betragtes som en simpel måde at skjule beskeder eller tekst på.
Du kan læse om Caesar-chiffer på dets Wikipedia-side, men det er ikke nødvendigt for at løse denne øvelse.
Læs koden og udfyld de tomme felter for at sikre, at den fungerer korrekt. Sådan skal det endelige program være:
setText
-metoden konverterer den overførte tekst til kodet tekst og gemmer den i feltettext
. Denne metode tager étstring
-argument kaldettext
, og metoden returnerer ingen værdi;rawText
returnerer indholdet af feltettext
. Denne metode tager ingen argumenter;decodedText
dekoder indholdet af feltettext
og returnerer resultatet. Denne metode tager heller ingen argumenter.
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()); } }
- Det er god praksis at bruge
this
-nøgleordet, når du henviser til strukturfelter. - Du bruger nøgleordet
void
som returværdi, hvis metoden ikke returnerer nogen værdi.
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()); } }
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
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
Udfordring: Metoder
Stryg for at vise menuen
Koden indeholder en struct kaldet Cypher
, som grundlæggende repræsenterer en form for Caesar-chiffer.
Caesar-chifferet er en metode til tekstkodning, der gør beskeder ulæselige ved at flytte hvert bogstav et fast antal positioner i alfabetet eller ASCII-tegn. For eksempel, hvis hvert tegn i "HelloWorld" flyttes 7 positioner ifølge ASCII-tabellen, bliver det til "Olssv^vysk." Det fungerer som en hemmelig kode, hvor hvert bogstav erstattes af et andet bogstav et bestemt antal trin væk. Det kan betragtes som en simpel måde at skjule beskeder eller tekst på.
Du kan læse om Caesar-chiffer på dets Wikipedia-side, men det er ikke nødvendigt for at løse denne øvelse.
Læs koden og udfyld de tomme felter for at sikre, at den fungerer korrekt. Sådan skal det endelige program være:
setText
-metoden konverterer den overførte tekst til kodet tekst og gemmer den i feltettext
. Denne metode tager étstring
-argument kaldettext
, og metoden returnerer ingen værdi;rawText
returnerer indholdet af feltettext
. Denne metode tager ingen argumenter;decodedText
dekoder indholdet af feltettext
og returnerer resultatet. Denne metode tager heller ingen argumenter.
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()); } }
- Det er god praksis at bruge
this
-nøgleordet, når du henviser til strukturfelter. - Du bruger nøgleordet
void
som returværdi, hvis metoden ikke returnerer nogen værdi.
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()); } }
Tak for dine kommentarer!