Utmaning: Metoder
Koden innehåller en struct kallad Cypher
som i grunden representerar en typ av Caesar-chiffer.
Caesar-chiffer är en metod för textkodning som gör meddelanden oläsliga genom att förskjuta varje bokstav ett fast antal positioner i alfabetet eller ASCII-tecken. Till exempel, om varje tecken i "HelloWorld" förskjuts med 7 positioner enligt ASCII-tabellen, blir resultatet "Olssv^vysk." Det är som en hemlig kod där varje bokstav ersätts av en annan bokstav ett visst antal steg bort. Det kan ses som ett enkelt sätt att dölja meddelanden eller text.
Du kan läsa om Caesar-chiffer på dess Wikipedia-sida, men det är inte nödvändigt för att lösa denna övningsuppgift.
Läs koden och fyll i luckorna för att säkerställa att den fungerar korrekt. Så här ska det slutliga programmet vara:
- Metoden
setText
konverterar den överförda texten till kodad text och lagrar den i fältettext
. Denna metod tar ett argument av typenstring
som hetertext
, och metoden returnerar inget värde; rawText
returnerar innehållet i fältettext
. Denna metod tar inga argument;decodedText
avkodar innehållet i fältettext
och returnerar resultatet. Denna metod tar inte heller några argument.
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 är god praxis att använda nyckelordet
this
när du refererar till strukturens fält. - Du använder nyckelordet
void
som returtyp om metoden inte returnerar något värde.
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()); } }
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 2.04
Utmaning: Metoder
Svep för att visa menyn
Koden innehåller en struct kallad Cypher
som i grunden representerar en typ av Caesar-chiffer.
Caesar-chiffer är en metod för textkodning som gör meddelanden oläsliga genom att förskjuta varje bokstav ett fast antal positioner i alfabetet eller ASCII-tecken. Till exempel, om varje tecken i "HelloWorld" förskjuts med 7 positioner enligt ASCII-tabellen, blir resultatet "Olssv^vysk." Det är som en hemlig kod där varje bokstav ersätts av en annan bokstav ett visst antal steg bort. Det kan ses som ett enkelt sätt att dölja meddelanden eller text.
Du kan läsa om Caesar-chiffer på dess Wikipedia-sida, men det är inte nödvändigt för att lösa denna övningsuppgift.
Läs koden och fyll i luckorna för att säkerställa att den fungerar korrekt. Så här ska det slutliga programmet vara:
- Metoden
setText
konverterar den överförda texten till kodad text och lagrar den i fältettext
. Denna metod tar ett argument av typenstring
som hetertext
, och metoden returnerar inget värde; rawText
returnerar innehållet i fältettext
. Denna metod tar inga argument;decodedText
avkodar innehållet i fältettext
och returnerar resultatet. Denna metod tar inte heller några argument.
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 är god praxis att använda nyckelordet
this
när du refererar till strukturens fält. - Du använder nyckelordet
void
som returtyp om metoden inte returnerar något värde.
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()); } }
Tack för dina kommentarer!