Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Utfordring: Metoder | Strukturer og Enumeratorer
C# Utover Det Grunnleggende

bookUtfordring: Metoder

Koden inneholder en struct kalt Cypher som i hovedsak representerer en type Caesar-kryptering.

Note
Merk

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:

  1. setText-metoden konverterer den sendte teksten til kodet tekst og lagrer den i feltet text. Denne metoden tar ett string-argument kalt text, og metoden returnerer ingen verdi;
  2. rawText returnerer innholdet i feltet text. Denne metoden tar ingen argumenter;
  3. decodedText dekoder innholdet i feltet text og returnerer resultatet. Denne metoden tar heller ingen argumenter.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
  1. Det er god praksis å bruke this-nøkkelordet når du refererer til feltene i structen.
  2. Du bruker nøkkelordet void som returverdi dersom metoden ikke returnerer noen verdi.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Suggested prompts:

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?

bookUtfordring: Metoder

Sveip for å vise menyen

Koden inneholder en struct kalt Cypher som i hovedsak representerer en type Caesar-kryptering.

Note
Merk

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:

  1. setText-metoden konverterer den sendte teksten til kodet tekst og lagrer den i feltet text. Denne metoden tar ett string-argument kalt text, og metoden returnerer ingen verdi;
  2. rawText returnerer innholdet i feltet text. Denne metoden tar ingen argumenter;
  3. decodedText dekoder innholdet i feltet text og returnerer resultatet. Denne metoden tar heller ingen argumenter.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
  1. Det er god praksis å bruke this-nøkkelordet når du refererer til feltene i structen.
  2. Du bruker nøkkelordet void som returverdi dersom metoden ikke returnerer noen verdi.
index.cs

index.cs

copy
1234567891011121314151617181920212223242526272829303132333435363738394041424344
using 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()); } }
Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 2. Kapittel 7
some-alt