Utfordring: Metoder
Koden inneholder en struct kalt Cypher som i hovedsak representerer en type Caesar-kryptering.
Caesar-kryptering er en metode for tekstkoding som gjør meldinger uleselige ved å flytte hver bokstav et fast antall posisjoner i alfabetet eller ASCII-tegn. For eksempel, hvis hver bokstav i "HelloWorld" flyttes 7 posisjoner i henhold til ASCII-tabellen, får man "Olssv^vysk." Det er som en hemmelig kode der hver bokstav erstattes med en annen bokstav et visst antall steg unna. Dette kan betraktes som en enkel måte å skjule meldinger eller tekst på.
Du kan lese om Caesar-kryptering på dens Wikipedia-side, men det er ikke nødvendig for å løse denne oppgaven.
Les koden og fyll inn de tomme feltene for å sikre at den fungerer riktig. Slik skal det endelige programmet være:
setText-metoden konverterer den sendte teksten til kodet tekst og lagrer den i feltettext. Denne metoden tar ettstring-argument kalttext, og metoden returnerer ingen verdi;rawTextreturnerer innholdet i feltettext. Denne metoden tar ingen argumenter;decodedTextdekoder innholdet i feltettextog returnerer resultatet. Denne metoden tar 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 å bruke
this-nøkkelordet når du refererer til feltene i structen. - Du bruker nøkkelordet
voidsom returverdi dersom metoden ikke returnerer noen verdi.
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()); } }
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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
Utfordring: Metoder
Sveip for å vise menyen
Koden inneholder en struct kalt Cypher som i hovedsak representerer en type Caesar-kryptering.
Caesar-kryptering er en metode for tekstkoding som gjør meldinger uleselige ved å flytte hver bokstav et fast antall posisjoner i alfabetet eller ASCII-tegn. For eksempel, hvis hver bokstav i "HelloWorld" flyttes 7 posisjoner i henhold til ASCII-tabellen, får man "Olssv^vysk." Det er som en hemmelig kode der hver bokstav erstattes med en annen bokstav et visst antall steg unna. Dette kan betraktes som en enkel måte å skjule meldinger eller tekst på.
Du kan lese om Caesar-kryptering på dens Wikipedia-side, men det er ikke nødvendig for å løse denne oppgaven.
Les koden og fyll inn de tomme feltene for å sikre at den fungerer riktig. Slik skal det endelige programmet være:
setText-metoden konverterer den sendte teksten til kodet tekst og lagrer den i feltettext. Denne metoden tar ettstring-argument kalttext, og metoden returnerer ingen verdi;rawTextreturnerer innholdet i feltettext. Denne metoden tar ingen argumenter;decodedTextdekoder innholdet i feltettextog returnerer resultatet. Denne metoden tar 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 å bruke
this-nøkkelordet når du refererer til feltene i structen. - Du bruker nøkkelordet
voidsom returverdi dersom metoden ikke returnerer noen verdi.
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()); } }
Takk for tilbakemeldingene dine!